博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
AtCoder Regular Contest 069 D
阅读量:6857 次
发布时间:2019-06-26

本文共 2919 字,大约阅读时间需要 9 分钟。

D - Menagerie


Time limit : 2sec / Memory limit : 256MB

Score : 500 points

Problem Statement

Snuke, who loves animals, built a zoo.

There are N animals in this zoo. They are conveniently numbered 1 through N, and arranged in a circle. The animal numbered i(2≤iN−1) is adjacent to the animals numbered i−1 and i+1. Also, the animal numbered 1 is adjacent to the animals numbered 2 and N, and the animal numbered N is adjacent to the animals numbered N−1 and 1.

There are two kinds of animals in this zoo: honest sheep that only speak the truth, and lying wolves that only tell lies.

Snuke cannot tell the difference between these two species, and asked each animal the following question: "Are your neighbors of the same species?" The animal numbered i answered si. Here, if si is o, the animal said that the two neighboring animals are of the same species, and if si is x, the animal said that the two neighboring animals are of different species.

More formally, a sheep answered o if the two neighboring animals are both sheep or both wolves, and answered x otherwise. Similarly, a wolf answered x if the two neighboring animals are both sheep or both wolves, and answered o otherwise.

Snuke is wondering whether there is a valid assignment of species to the animals that is consistent with these responses. If there is such an assignment, show one such assignment. Otherwise, print -1.

Constraints

  • 3≤N≤105
  • s is a string of length N consisting of o and x.

Input

The input is given from Standard Input in the following format:

Ns

Output

If there does not exist an valid assignment that is consistent with s, print -1. Otherwise, print an string t in the following format. The output is considered correct if the assignment described by t is consistent with s.

  • t is a string of length N consisting of S and W.
  • If ti is S, it indicates that the animal numbered i is a sheep. If ti is W, it indicates that the animal numbered i is a wolf.

Sample Input 1

6ooxoox

Sample Output 1

SSSWWS

For example, if the animals numbered 1, 2, 3, 4, 5 and 6 are respectively a sheep, sheep, sheep, wolf, wolf, and sheep, it is consistent with their responses. Besides, there is another valid assignment of species: a wolf, sheep, wolf, sheep, wolf and wolf.

Let us remind you: if the neiboring animals are of the same species, a sheep answers o and a wolf answers x. If the neiboring animals are of different species, a sheep answers x and a wolf answers o.

b34c052fc21c42d2def9b98d6dccd05c.png

Sample Input 2

3oox

Sample Output 2

-1

Print -1 if there is no valid assignment of species.


Sample Input 3

10oxooxoxoox

Sample Output 3

SSWWSSSWWS
题目链接:
题意:n只动物从1到n围成一个圈,每只动物要么是羊要么是狼。每只动物会说出一个字母,说'o'表示它两边动物种类相同,说'x'表示不同。但羊是说真话,狼是说反话。求出这n只动物的种类。
分析:模拟一下就可以了,不过这个模拟比较大!
下面给出AC代码:
1 #include 
2 using namespace std; 3 const int N=123456; 4 int gh(char *str,char *ch,int n) { 5 for(int i=1; i

 

转载于:https://www.cnblogs.com/ECJTUACM-873284962/p/6502115.html

你可能感兴趣的文章
用GDB调试程序【转】
查看>>
优先使用对象组合,而不是类继承
查看>>
java中运行系统命令
查看>>
java接收Ext jsonstore传值
查看>>
maven项目配置jdk版本
查看>>
关于eclipse导入项目出错的那些事
查看>>
指针和数组
查看>>
.NET2.0下的对象生成JSON数据
查看>>
php require和include 相对路径一个有趣的坑
查看>>
修改自定义openwrt构建系统
查看>>
如何在cakephp中截取中文字符串?
查看>>
javascript数组排列组合和洗牌算法Fisher–Yates shuffle
查看>>
mysql not in 和 left join比较
查看>>
ibatis常用16条SQL语句
查看>>
HashMap使用举例
查看>>
IntentService
查看>>
python @classmethod @staticmethod
查看>>
NSCalendar 及 NSDate总结
查看>>
Maven的安装、配置及使用入门
查看>>
Android Media Player回调事件传递
查看>>