国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

AtCoder Regular Contest 069 D - Menagerie 枚舉起點 遞推

2019-11-08 02:08:08
字體:
來源:轉載
供稿:網友

題意:一堆不明身份的動物排成一圈,身份可能是羊或狼,羊一定說實話,狼一定說假話。大家各自報自己的兩邊是同類還是不同類,問能否有一種滿足每個人發言的方式。

解法:已知i-1和i-2可以推i,所以枚舉起點羊羊、羊狼、狼羊、狼狼四種可能,最后拿第0只以及第n-1只動物的發言判斷是否合法就行。

代碼寫得比較暴力。。。

#include <cstdio>int n;char s[100001],r[100001];bool c(char a,char b) {    r[0]=a;r[1]=b;    for (int i=2;i<n;++i)        r[i]=r[i-1]=='S'?s[i-1]=='o'?r[i-2]:r[i-2]=='S'?'W':'S':s[i-1]=='x'?r[i-2]:r[i-2]=='S'?'W':'S';    return !(r[n-1]=='S'&&((s[n-1]=='o'&&r[n-2]!=r[0])||(s[n-1]=='x'&&r[n-2]==r[0])))&&           !(r[0]=='S'&&((s[0]=='o'&&r[1]!=r[n-1])||(s[0]=='x'&&r[1]==r[n-1])))&&           !(r[n-1]=='W'&&((s[n-1]=='x'&&r[n-2]!=r[0])||(s[n-1]=='o'&&r[n-2]==r[0])))&&           !(r[0]=='W'&&((s[0]=='x'&&r[1]!=r[n-1])||(s[0]=='o'&&r[1]==r[n-1])));}int main(){    scanf("%d%s",&n,s);    puts(c('S','W')||c('W','S')||c('W','W')||c('S','S')?r:"-1");    return 0;}


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 原平市| 灌南县| 北票市| 深水埗区| 德昌县| 屏山县| 丰原市| 贵德县| 同江市| 陕西省| 德清县| 西峡县| 和静县| 集安市| 龙川县| 大冶市| 洞头县| 苏尼特左旗| 原阳县| 肇东市| 志丹县| 卫辉市| 聂荣县| 铜山县| 泾川县| 黑龙江省| 韩城市| 呼和浩特市| 商城县| 新干县| 津市市| 永胜县| 定西市| 鱼台县| 南江县| 东阿县| 中卫市| 宿迁市| 白山市| 浦东新区| 克山县|