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 |
呼呼~~~~第一次用类写程序,好像蛮爽的# include <iostream> using namespace std; bool use[1001]; class pretest { private: int l[501]; int r[501]; public: int num; void add(int left[],int right[],int len); bool find(bool sel,int flag); }; class test { private: pretest data[101]; int point; bool isin(bool sel,int flag); bool isnotin(bool sel,int flag); public: test(); void add(int left[],int right[],int len); int judge(int n); }; //******************************************************************************* void pretest::add(int left[],int right[],int len) { for(int i=1;i<=len;i++) { l[i]=left[i]; r[i]=right[i]; } num=len; } bool pretest::find(bool sel,int flag) { if(!sel) { for(int i=1;i<=num;i++) if(l[i]==flag) return 1; return 0; } else { for(int i=1;i<=num;i++) if(r[i]==flag) return 1; return 0; } } //****************************************************************************** test::test() { point=0; } void test::add(int left[],int right[],int len) { data[++point].add(left,right,len); } bool test::isin(bool sel,int flag) { for(int i=1;i<=point;i++) { if(!data[i].find(sel,flag)) return 0; } return 1; } bool test::isnotin(bool sel,int flag) { for(int i=1;i<=point;i++) { if(data[i].find(sel,flag)) return 0; } return 1; } int test::judge(int n) { for(int i=1;i<=n;i++) { if(use[i]) { if((isin(0,i)&&isnotin(1,i))||(isin(1,i)&&isnotin(0,i))) continue; else use[i]=0; } } int last=0; for(int i=1;i<=n;i++) { if(use[i]) { if(!last) last=i; else return 0; } } return last; } int main() { int data_num,test_num; test mydata; cin>>data_num>>test_num; for(int i=1;i<=data_num;i++) use[i]=1; for(int i=1;i<=test_num;i++) { int num; int t1[501],t2[501]; char equal; cin>>num; for(int j=1;j<=num;j++) cin>>t1[j]; for(int j=1;j<=num;j++) cin>>t2[j]; cin>>equal; if(equal=='=') { for(int j=1;j<=num;j++) { use[t1[j]]=0; use[t2[j]]=0; } } else if(equal=='<') mydata.add(t1,t2,num); else mydata.add(t2,t1,num); } cout<<mydata.judge(data_num)<<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