| ||||||||||
| 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