| ||||||||||
| 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:天哪。。。。。。为什么老RE阿。。。help me...In Reply To:天哪。。。。。。为什么老RE阿。。。help me... Posted by:liao14 at 2007-10-19 20:32:06 > #include<iostream>
> #include<algorithm>
>
> using namespace std;
>
> int num[1000];
> struct node
> {
> int a[6];
> node *next;
> };
>
> node *snow[1000];
>
> bool match(node *a,node *b)
> {
> int i,j,k;
> for( i = 0; i < 6; i ++ )
> {
> if( a->a[0] == b->a[i] )
> {
> for( j = 0, k = i; j < 6; j ++ )
> { if( a->a[j] != b->a[k] )
> break;
> k ++;
> if ( k >= 6 ) k %= 6;
> }
> if( j == 6 ) return true;
> for( j = 0, k = i; j < 6; j ++ )
> {
> if( a->a[j] != b->a[k] )
> break;
> k --;
> if( k < 0 )
> k = 5;
> }
> if( j == 6 ) return true;
> }
> }
> return false;
> }
>
> int main()
> {
> int i;
> bool flag;
> int n;
> while(scanf("%d",&n)>0)
> {
> memset(num,0,sizeof num);
> memset(snow,NULL,sizeof snow);
> flag=0;
> int nn[6];
> while(n--)
> {
> scanf("%d%d%d%d%d%d",&nn[0],&nn[1],&nn[2],&nn[3],&nn[4],&nn[5]);
> if(!flag)
> {
> int tmp=(nn[0]+nn[1]+nn[2]+nn[3]+nn[4]+nn[5])%100000;
> num[tmp]++;
> node *q=new node;
> for(i=0;i<6;i++) q->a[i]=nn[i];
> q->next =NULL;
> node *p=snow[tmp];
> if(p!=NULL)
> {
> while(1)
> {
> flag=match(p,q);
> if(flag) break;
> if(p->next!=NULL) p=p->next;
> else break;
> }
> p->next=q;
> }
> else snow[tmp]=q;
>
> }
> }
> if(flag) printf("Twin snowflakes found.\n");
> else printf("No two snowflakes are alike.\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