NOJ-1080-悄悄话游戏

来源:互联网 发布:帝国cms免费模板下载 编辑:程序博客网 时间:2024/04/29 15:28

题目链接:http://acm.njupt.edu.cn/acmhome/problemdetail.do?&method=showdetail&id=1080

题目描述有问题
1.注意最后的多余空格并没有;
2.注意每个人要不然不说,要不然只能说两次,见第二个样例,所以题目中的“至多”说法有错;

代码如下:

#include <iostream>#include <cstdio>#include <cstring> using namespace std;int talk[10010],be_talk[10010];int main(){    int T;    scanf("%d",&T);    while(T--)    {        memset(talk,0,sizeof(talk));        memset(be_talk,0,sizeof(be_talk));        int n,t,m;        scanf("%d%d%d",&n,&t,&m);        for(int i=0;i<m;i++)        {            int p,q;            scanf("%d%d",&p,&q);            talk[p]++;            be_talk[q]++;        }            bool flag = true;        be_talk[t] = 1;         for(int i=0;i<m;i++)        {            if( (talk[i]!=0 && talk[i]!=2) || be_talk[i] != 1) //要么不说,要么说两次,被告诉必为一次            {                flag = false;                break;            }        }        if(flag)            printf("Success\n");        else            printf("Failure\n");    }    return 0;}
0 0
原创粉丝点击