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 |
Re:-- 总结了前人几组易出错的数据 --In Reply To:-- 总结了前人几组易出错的数据 -- Posted by:MIRKING at 2008-05-23 10:01:26 > 5 2 > 1 1 4 > = > 1 2 5 > = > ---- 答案是 3 ---- > 2 1 > 1 1 2 > > > ---- 答案是 0 ---- > 5 3 > 2 1 3 2 4 > > > 2 3 5 2 4 > > > 1 1 4 > > > ---- 答案是 4 ---- > 5 3 > 1 2 3 > < > 1 1 2 > > > 1 3 4 > = > ---- 答案是 2 ---- > 3 2 > 1 1 2 > < > 1 1 3 > < > ---- 答案是 1 ---- > 5 1 > 2 1 2 3 4 > = > ---- 答案是 5 ---- > 3 2 > 1 1 2 > < > 1 2 3 > > > ---- 答案是 2 ---- 我感觉这数据有点坑人,我的代码这几个数据都过了,但还是wa,不知道为什么,请指教 #include <iostream> #include <stdlib.h> using namespace std; int flag[1005]; int main() { int n,k; cin>>n>>k; int i,j,p; int left[505]; int right[505]; char c[3]; for(i=0;i<k;i++) { cin>>p; for(j=0;j<p;j++) { cin>>left[j]; } for(j=0;j<p;j++) { cin>>right[j]; } cin>>c; if(c[0]=='=') { for(j=0;j<p;j++) { flag[left[j]]=100; } for(j=0;j<p;j++) { flag[right[j]]=100; } } if(c[0]=='>') { for(j=0;j<p;j++) { if(flag[left[j]]!=100) { flag[left[j]]++; } } for(j=0;j<p;j++) { if(flag[right[j]]!=100) { flag[right[j]]--; } } } if(c[0]=='<') { for(j=0;j<p;j++) { if(flag[left[j]]!=100) { flag[left[j]]--; } } for(j=0;j<p;j++) { if(flag[right[j]]!=100) { flag[right[j]]++; } } } } int max=-1; int ans; int mount=1; /*for(i=1;i<=n;i++) { cout<<flag[i]<<endl; }*/ for(i=1;i<=n;i++) { if(flag[i]!=100 && abs(flag[i])>=max) { if(abs(flag[i])>max) { max=abs(flag[i]); ans=i; mount=1; } else if(abs(flag[i])==max) { mount++; } } } if(mount==1) cout<<ans<<endl; else cout<<0<<endl; //cout<<ans<<endl; return 0; } Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator