| ||||||||||
| 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:为什么会WA呢?高手指点啊,给个测试数据吧In Reply To:为什么会WA呢?高手指点啊,给个测试数据吧 Posted by:00 at 2005-06-30 18:38:52 > #include<iostream.h>
> void main()
> {
> int P,T,a,b,i,j;
> cin>>P>>T;
> int pt[101][101];
> while(cin>>a>>b)
> pt[a-1][b-1]=1;
> int r=P;
> for(i=0;i<P;i++)
> {
> for(j=i+1;j<P;j++)
> {
> for(int k=0;k<P;k++)
> {
> if(pt[i][k]!=pt[j][k])
> break;
> }
> if(k==P)
> r--;
> }
> }
> cout<<r<<endl;
> }
和你的思路几乎一样,但是你的好像最后一个for循环有问题哦,结束循环的条件是k<T吧!
而且如果是多于两个人的看法一样的话就有错误了,应该在
if(k==P) r--;之间加上i++;哦 !
我的代码是
#include <iostream>
using namespace std;
int main()
{
int p,t,m,n,difp,a[103][103]={};
cin>>p>>t;
difp=p;
while(cin>>m>>n){
a[m-1][n-1]=1;
}
for(int i=0;i<p;i++)
for(int j=i+1,k;j<p;j++)
{
for(k=0;k<t;k++)
{
if(a[i][k]!=a[j][k]) break;
else continue;
}
if(k==t) {i++;difp--;} //如果是三个人都有相同的想法i必须++
}
cout<<difp<<endl;
system("pause");
return 0;
}
但还是有问题 ,不知道什么原因啊!郁闷......
Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator