日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

1148 Werewolf - Simple Version 甲级

發(fā)布時(shí)間:2023/12/3 编程问答 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 1148 Werewolf - Simple Version 甲级 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

題意:

有n個(gè)玩家,有兩個(gè)狼人,有兩人說(shuō)慌(其中一個(gè)為狼人一個(gè)為非狼人),找出狼人是誰(shuí)?

題解:

暴力枚舉
先枚舉i和j為狼人,然后從1號(hào)開(kāi)始假設(shè)其說(shuō)謊,然后判斷是否符合題目要求

代碼:

#include<stdio.h> #define maxn 110 int wolf[maxn],st[maxn]; int N;int main(){int i,j,k;int w,lair;scanf("%d",&N);for(i=1;i<=N;i++){scanf("%d",&st[i]);}for(i=1;i<N;i++){wolf[i]=1;for(j=i+1;j<=N;j++){wolf[j]=1;w=0;lair=0;for(k=1;k<=N;k++){int seer=st[k];if(seer>0&&wolf[seer]==1){//k說(shuō)seer是好人,但seer是狼,k就說(shuō)謊了 lair++;if(k==i||k==j){w++;}}else if(seer<0&&wolf[-seer]==0)//k說(shuō)seer是狼,但seer不是狼,k就說(shuō)謊了 {lair++;if(k==i||k==j){w++;}}}if(lair==2&&w==1){//兩個(gè)說(shuō)謊的且一個(gè)為狼 printf("%d %d\n",i,j);return 0;}wolf[j]=0;}wolf[i]=0;}printf("No Solution\n");return 0; }

總結(jié)

以上是生活随笔為你收集整理的1148 Werewolf - Simple Version 甲级的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。