1. 程式人生 > >在vs2010上運算成功,但是在oj上卻出現wronganswer

在vs2010上運算成功,但是在oj上卻出現wronganswer

#include #include using namespace std; struct Number { int n; vectora1; vectora2; vectora3; Number next; }; Number CreatList(int num) { Number *head,*tail; head=tail=0; while(num) { Number *p=new Number(); int a,b,c; cin>>p->n; for(int i=0;in;++i) { cin>>a>>b>>c; if(b<c) { int temp=b; b=c; c=temp; } p->a1.push_back(a); p->a2.push_back(b); p->a3.push_back©; } if(head==0) { head=tail=p; } else { tail->next=p; tail=p; p->next=0; } –num; } return head; } void Sequence(int n,vectora1,vectora2,vectora3) { for(int i=1;i<n;++i) { for(int k=0;k<n-i;++k) { if(a1[k]>a1[k+1]) { int temp=a1[k]; a1[k]=a1[k+1]; a1[k+1]=temp; temp=a2[k]; a2[k]=a2[k+1]; a2[k+1]=temp; temp=a3[k]; a3[k]=a3[k+1]; a3[k+1]=temp; } } } int count=0; for(int i=0;i<n-count-1;++i) { if(a1[i]==a1[i+1]) { if(a2[i]==a2[i+1]) { if(a3[i]==a3[i+1]) { for(int j=i;j<n-count-1;++j) { a1[j]=a1[j+1]; a2[j]=a2[j+1]; a3[j]=a3[j+1]; } a1.pop_back(); a2.pop_back(); a3.pop_back(); ++count; –i; } else if(a3[i]>a3[i+1]) { int temp=a3[i]; a3[i]=a3[i+1]; a3[i+1]=temp; } } else if(a2[i]>a2[i+1]) { int temp=a2[i]; a2[i]=a2[i+1]; a2[i+1]=temp; temp=a3[i]; a3[i]=a3[i+1]; a3[i+1]=temp; } } } for(size_t i=0;i<a1.size();++i) { cout<<a1[i]<<’\t’<<a2[i]<<’\t’<<a3[i]<<endl; } } int main() { int num; cin>>num; Number *p=CreatList(num); while(p!=0) { Sequence(p->n,p->a1,p->a2,p->a3); p=p->next; } return 0; } 請哪位大牛可以指出一下問題,謝謝。 在這裡插入圖片描述

圖片描述