| ||||||||||
| Online Judge | Problem Set | Authors | Online Contests | User | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest | |||||||||
我基本不发帖,但因为这道题,我不得不发了!说下感想!(顺着贴下AC代码)这道题可以用1013的方法做,但考虑的情况林林种种的!
一些测试代码,前面的各个兄弟都贴了,想测试的可以自己去找下。
我下了所谓的官方数据,居然WA,然后自己仔细琢磨,在搞遍所有前辈们的测试数据之后~
我在WA了很多次的压力下,我去ZJU上提交,仍然WA~
如此,我想说,太阳!
在经过一个下午的折磨之后!
我不管3721,直接到PKU上提交!
我晕!
居然AC了!
什么玩意啊!】
ZJU莫非针对我还是有其他的超级死角数据?
总之,在这道题上来看,不是ZJU的乱!就是PKU的数据不全!这样着实有点伤大家的感情~
假如因为数据不全而让我AC,我只能说~
没点意思!
以下为AC代码:
迷茫的朋友可以借鉴 !或者试下数据~
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
int i,j,l;
int left[5000],right[5000];
float doubt[5000];
int record[5000];
char t;
int num,k;
int n,max,count;
scanf("%d%d",&num,&k);
memset(doubt,0,sizeof(doubt));
memset(record,0,sizeof(record));
while(k--)
{
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%d",&left[i]);
for(i=0;i<n;i++)
scanf("%d",&right[i]);
getchar();
scanf("%c",&t);
if(t=='<')
{
for(i=0;i<n;i++)
{
doubt[left[i]]--;
doubt[right[i]]++;
record[left[i]]++;
record[right[i]]++;
}
}
else if(t=='>')
{
for(i=0;i<n;i++)
{
doubt[left[i]]++;
doubt[right[i]]--;
record[left[i]]++;
record[right[i]]++;
}
}
else if(t=='=')
{
for(i=0;i<n;i++)
{
doubt[left[i]]=0;
doubt[right[i]]=0;
record[left[i]]++;
record[right[i]]++;
}
}
}
max=fabs(doubt[num]);
count=num;
l=num;
j=1;
while(num)
{
num--;
if(fabs(doubt[num])>max)
{
max=fabs(doubt[num]);
count=num;
}
}
if(max)
while(l)
{
if(l==count){l--;continue;}
if(max==fabs(doubt[l]))
{
j=0;
break;
}
l--;
}
else
{
k=0;
for(i=1;i<=l;i++)
{
if(record[i]==0)
{
count=i;
k++;
if(k>1){j=0;break;}
}
}
}
if(j)
printf("%d\n",count);
else printf("0\n");
return 0;
}
Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator