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!LCS哪里出错了,迷茫ing...请大牛指教 (含代码)/* Problem ID: 3018 User ID: VitaminC Time: 2006-11-28 */ #include<cstdio> #include<algorithm> #include<vector> using namespace std; bool satisfy(vector<int> p, vector<int> q) { int len=p.size(); for(int i=0; i<len; i++) if(p[i]>=q[i]) return false; return true; } int main() { const int MAX_N = 501; int n, d, MAX; int cnt[MAX_N]; bool flag; vector<int> gift, temp; vector<vector<int> > box; while(2 == scanf("%d %d", &n, &d)) { int i, j, num; flag=false; gift.clear(); for(i=0; i<d; i++) { scanf("%d", &num); gift.push_back(num); } sort(gift.begin(), gift.end()); box.clear(); for(i=0; i<n; i++) { temp.clear(); for(j=0; j<d; j++) { scanf("%d", &num); temp.push_back(num); } sort(temp.begin(), temp.end()); box.push_back(temp); if(satisfy(gift, temp)) flag=true; cnt[i]=1; } if(flag==false) goto out; sort(box.begin(), box.end()); for(i=0; i<n-1; i++) { if(satisfy(box[i], gift)) continue; for(j=i+1; j<n; j++) if(satisfy(box[i], box[j]) && cnt[i]+1>cnt[j]) cnt[j]=cnt[i]+1; } MAX=0; for(i=0; i<n; i++) if(cnt[i]>MAX) MAX=cnt[i]; out: if(flag==true) printf("%d\n", MAX); else printf("Please look for another gift shop!\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