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 |
不知道为什么说我WA了! 各位能给我点数据吗?#include <iostream> #include <string> using namespace std; class List; class ListNode { friend class List; public: ListNode () { link = NULL; } int data; ListNode * link; ListNode * rlink; }; class List { public: List() { first = last = NULL; } private: ListNode * first, * last; }; void main() { unsigned int i; string n; loop: while( cin >>n ) { ListNode * p,* last; ListNode * first = new ListNode(); last = NULL; first->data = n[0] - 48; //ÊäÈë for(i = 1; i < n.length(); i++) { int num = n[i] - 48; ListNode * newnode = new ListNode(); if ( last == NULL ) { newnode->data = num; newnode->link = first; first->rlink = newnode;// p = newnode; last = p; } else { newnode->data = num; newnode->link = p; p->rlink = newnode; p = p->rlink; last = p; } } first->link = last; last->rlink = first; ListNode * current; //¼ÆËã int x(0); ListNode * p2,* temp,* temp2; for( i = 1; i < n.length(); i++ ) { temp2 = NULL; temp = new ListNode(); current = p; do { p2 = new ListNode(); if( temp2 == NULL ) { temp2 = p2; } p2->data = current->data*(i + 1)%10 + x; x = 0; if( current->data*(i + 1) >= 10 ) { x = current->data*(i + 1)/10; } if( p2->data >= 10 ) { x += p2->data/10; p2->data = p2->data%10; } current = current->link; p2->link = temp; temp = p2; } while ( current != first->link ); //ÅÐ¶Ï current = temp; while( 1 ) { int ip(0); while( current->data != last->data ) { last = last->rlink; ip++; if( ip == n.length() ) { cout<<n<<" is not cyclic"<<'\n'; goto loop2; } } while(1) { if( (current->data) == (last->data) ) { current = current->link; last = last->rlink; if( current->link == NULL ) { break; } } else { if( current->data != last->data ) { int ip(0); while( current->data != last->data ) { last = last->rlink; ip++; if( ip == n.length() ) { cout<<n<<" is not cyclic"<<'\n'; goto loop2; } } } else { cout <<n<<" is not cyclic"<<'\n'; goto loop2; } } } break; } } cout<<n<<" is cyclic"<<'\n'; //ÊÍ·Å loop2: ListNode * d1,* d2; current = p; while( temp->link != NULL ) { d1 = current; d2 = temp; temp = temp->link; current = current->link; delete d1; delete d2; d1 = d2 = NULL; } } } Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator