HDU 4194 Peer Review

原创 2016年11月09日 11:04:05

Description

For scienti c conferences, scientists submit papers presenting their ideas, and then review each other's papers to make sure only good papers are presented at the conference. Each paper must be reviewed by several scientists, and scientists must not review papers written by people they collaborate with (including themselves), or review the same paper more than once. 
 You have been asked to write a program to check if your favorite conference is doing things right. Whether a paper is being reviewed too much, too little, or by the wrong people - the organizers must know before it is too late!

Input

The fi rst line in each test case has two integers, K (1<=K<=5) and N (1<=N<=1000). K is the number of reviews that each paper will receive, while N is the number of papers to be reviewed. The conference only accepts papers with a single author, and authors can only present a single paper at the conference. 
 Each of the next N lines describes an author and includes the name of the institution to which the author belongs, followed by the list of the K papers he or she has been requested to review. It is assumed that researchers from the same institution collaborate with each other, where as researchers from diff erent institutions don't. All institution names are shorter than 10 characters, and contain only upper or lowercase letters and no whitespace. Since we have as many papers as authors, papers are identi ed by their author's index; paper 1 was written by the first author in the list, and paper N was written by the last author. 
 The end of the test cases is marked with a line containing K = 0 and N = 0. You should generate no output for this line.

Output

For each test case, your program should output NO PROBLEMS FOUND (if all rules are being followed) or P PROBLEMS FOUND, where P is the number of rule violations found (counting at most 1 violation per paper). If there is exactly one rule violation overall, your program should output 1 PROBLEM FOUND.

Sample Input

2 3
UCM 2 3
UAM 1 3
UPM 1 2
2 3
UCM 2 3
UAM 1 2
UPM 2 2
0 0

Sample Output

NO PROBLEMS FOUND

3 PROBLEMS FOUND

读懂题目就是水题。

#include<set>
#include<map>
#include<ctime>
#include<cmath>
#include<stack>
#include<queue>
#include<bitset>
#include<cstdio>
#include<string>
#include<cstring>
#include<iostream>
#include<algorithm>
#include<functional>
#define rep(i,j,k) for (int i = j; i <= k; i++)
#define per(i,j,k) for (int i = j; i >= k; i--)
#define loop(i,j,k) for (int i = j;i != -1; i = k[i])
#define lson x << 1, l, mid
#define rson x << 1 | 1, mid + 1, r
#define ff first
#define ss second
#define mp(i,j) make_pair(i,j)
#define pb push_back
#define pii pair<int,LL>
#define inone(x) scanf("%d", &x)
#define intwo(x,y) scanf("%d%d", &x, &y)
using namespace std;
const int N = 1e3+5;
const int mod=1e9+7;
int n, m, a[N][10],f[N],c[N];
string s[N];

int main()
{
    while(intwo(m,n),n+m)
    {
        rep(i,1,n) f[i]=c[i]=0;
        rep(i,1,n)
        {
            cin>>s[i];
            rep(j,0,m-1) inone(a[i][j]);
        }
        rep(i,1,n)
        {
            sort(a[i],a[i]+m);
            rep(j,0,m-1)
            {
                if(j&&a[i][j]==a[i][j-1]) f[a[i][j]]=1;
                if (s[a[i][j]]==s[i]) f[a[i][j]]=1;
                else c[a[i][j]]++;
            }
        }
        int ans=0;
        rep(i,1,n) ans+=f[i]|(c[i]!=m);
        if (ans>1) printf("%d PROBLEMS FOUND\n",ans);
        else if (ans==1) printf("%d PROBLEM FOUND\n",ans);
        else printf("NO PROBLEMS FOUND\n");
    }
    return 0;
}


版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

UVA12394/HDU4194 Peer Review 模拟

http://acm.hdu.edu.cn/showproblem.php?pid=4194 题目大意:就是一道英文题,题意很纠结。输入一个K和N,K是没人审核的paper数和每个paper必须...

peer review table

  • 2013年12月03日 10:31
  • 64KB
  • 下载

Best Practise for Peer Code Review

  • 2010年12月28日 14:52
  • 373KB
  • 下载

【jzoj4194】【Banner】【容斥原理】

题目大意给出一个(n+1)*(m+1)的点阵,求有多少种选起点终点(无序点对)使得连线除起点终点外不经过其他点,且长度在给定区间内。解题思路观察可知枚举横向x纵向y长度即可求出长度,gcd(x,y)=...

Best kept secrets of peer code review

  • 2009年07月15日 10:56
  • 2.05MB
  • 下载

best kept secrets of peer code review

  • 2013年09月10日 08:10
  • 4.41MB
  • 下载

ORA-00600 [4194]的解决

今天遇到一个standby 拷贝出来的库要

ora-600 4194错

客户电话说一个测试库报ora-600 4194错误,着急用,所以跑过去看情况。 windows虚拟机环境 测试库 10.2.0.3版本 alert日志发现大量的: ora-27300 or...

ORA-00600: internal error code, arguments: [4194] 解决方法

故障如下: Mon Oct 22 19:49:27 2012 Trace dumping is performing id=[cdmp_20121022194927] Errors ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:HDU 4194 Peer Review
举报原因:
原因补充:

(最多只允许输入30个字)