首页 新闻 会员 周边 捐助

poj1029,为何迟迟过不了,网上给的易错的测试用例都过了,但是提交就是过不了啊,求指教

0
[待解决问题]
  1 #include <iostream>
  2 #include <stdlib.h>
  3 using namespace std;
  4 
  5 int flag[1005];
  6 int main()
  7 {
  8   int n,k;
  9   cin>>n>>k;
 10   int i,j,p;
 11 
 12   int left[1005];
 13   int right[1005];
 14   char c[3];
 15   for(i=0;i<k;i++)
 16   {
 17   cin>>p;
 18   for(j=0;j<p;j++)
 19   {
 20   cin>>left[j];
 21   }
 22   for(j=0;j<p;j++)
 23   {
 24   cin>>right[j];
 25   }
 26   cin>>c;
 27   if(c[0]=='=')
 28   {
 29   for(j=0;j<p;j++)
 30   {
 31   flag[left[j]]=100;
 32   }
 33   for(j=0;j<p;j++)
 34   {
 35   flag[right[j]]=100;
 36   }
 37 
 38   }
 39   if(c[0]=='>')
 40   {
 41   for(j=0;j<p;j++)
 42   {
 43   if(flag[left[j]]!=100)
 44   {
 45   flag[left[j]]++;
 46   }
 47   }
 48   for(j=0;j<p;j++)
 49   {
 50   if(flag[right[j]]!=100)
 51   {
 52   flag[right[j]]--;
 53   }
 54   }
 55   }
 56   if(c[0]=='<')
 57   {
 58   for(j=0;j<p;j++)
 59   {
 60   if(flag[left[j]]!=100)
 61   {
 62   flag[left[j]]--;
 63   }
 64   }
 65   for(j=0;j<p;j++)
 66   {
 67   if(flag[right[j]]!=100)
 68   {
 69   flag[right[j]]++;
 70   }
 71   }
 72   }
 73   }
 74   int max=-1;
 75   int ans;
 76   int mount=1;
 77   /*for(i=1;i<=n;i++)
 78   {
 79   cout<<flag[i]<<endl;
 80   }*/
 81   for(i=1;i<=n;i++)
 82   {
 83   if(flag[i]!=100 && abs(flag[i])>=max)
 84   {
 85   if(abs(flag[i])>max)
 86   {
 87   max=abs(flag[i]);
 88   ans=i;
 89   mount=1;
 90   }
 91   else if(abs(flag[i])==max)
 92   {
 93   mount++;
 94   }
 95   }
 96 
 97   }
 98   if(mount==1) cout<<ans<<endl;
 99   else cout<<0<<endl;
100   //cout<<ans<<endl;
101   return 0;
102 }
矮人狙击手!的主页 矮人狙击手! | 初学一级 | 园豆:136
提问于:2012-08-04 22:20
< >
分享
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册