国产探花免费观看_亚洲丰满少妇自慰呻吟_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;}


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 乐安县| 长沙县| 建始县| 大同市| 舒城县| 东海县| 宁南县| 和林格尔县| 金阳县| 蓝田县| 长沙县| 伊通| 鱼台县| 和平县| 子长县| 上高县| 手机| 嘉黎县| 始兴县| 平顶山市| 志丹县| 阿拉尔市| 广西| 全州县| 宝应县| 工布江达县| 德钦县| 大庆市| 青龙| 阜康市| 濉溪县| 平江县| 青冈县| 泊头市| 耿马| 武功县| 永新县| 岑巩县| 恩平市| 新巴尔虎右旗| 松原市|