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