赞
踩
#include<bits/stdc++.h> using namespace std; typedef struct{ string color; int score; }Team; bool rule(Team a,Team b){ return a.score>b.score; } int N; int cnt[4]={0}; Team teams[30]; int main(){ cin>>N; for(int i=0;i<N;++i){ char color; cin>>teams[i].score>>color; switch(color){ case 'b': cnt[0]++; teams[i].color="blue"; break; case 'r': cnt[1]++; teams[i].color="red"; break; case 'g': cnt[2]++; teams[i].color="green"; break; case 'p': cnt[3]++; teams[i].color="purple"; break; } } sort(teams,teams+N,rule); cout<<"blue\t"<<cnt[0]<<endl; cout<<"red\t"<<cnt[1]<<endl; cout<<"green\t"<<cnt[2]<<endl; cout<<"purple\t"<<cnt[3]<<endl<<endl; for(int i=0;i<N;++i){ cout<<teams[i].score<<" "<<teams[i].color<<endl; } return 0; }
#include<bits/stdc++.h> using namespace std; vector<int> nums; int daxiaowang=0; string pai; int main(){ for(int i=0;i<5;++i){ cin>>pai; if(pai=="A"){ nums.push_back(1); }else if(pai=="2"){ nums.push_back(2); }else if(pai=="3"){ nums.push_back(3); }else if(pai=="4"){ nums.push_back(4); }else if(pai=="5"){ nums.push_back(5); }else if(pai=="6"){ nums.push_back(6); }else if(pai=="7"){ nums.push_back(7); }else if(pai=="8"){ nums.push_back(8); }else if(pai=="9"){ nums.push_back(9); }else if(pai=="10"){ nums.push_back(10); }else if(pai=="J"){ nums.push_back(11); }else if(pai=="Q"){ nums.push_back(12); }else if(pai=="K"){ nums.push_back(13); }else if(pai=="W"){ ++daxiaowang; } } sort(nums.begin(),nums.end()); int cnt=0; for(int i=0;i<nums.size()-1;){ if((nums[i]+1)==nums[i+1]){ ++cnt; ++i; }else if(nums[i]==nums[i+1]){ cout<<"no"; return 0; }else{ if(daxiaowang){ --daxiaowang; nums.push_back(nums[i]+1); sort(nums.begin(),nums.end()); }else{ cout<<"no"; return 0; } } } if(cnt+1==5){ cout<<"yes"; }else if(nums.size()+daxiaowang==5){ cout<<"yes"; }else{ cout<<"no"; } return 0; }
#include<bits/stdc++.h> using namespace std; int N,C; int W[100]; int cnt; void f(int i,int C,vector<int>& subset){ //注意如果不写 &&C!=0 会漏掉所有以W[N-1]结尾的子集 //注意如果不写 &&C!=0 会漏掉所有以W[N-1]结尾的子集 //注意如果不写 &&C!=0 会漏掉所有以W[N-1]结尾的子集 if(i==N&&C!=0){ return; } if(C==0){ ++cnt; for(int k=0;k<subset.size();++k){ cout<<subset[k]<<" "; } cout<<endl; return; } for(int k=i;k<N;++k){ if(C>=W[k]){ subset.push_back(W[k]); f(k+1,C-W[k],subset); subset.pop_back(); } } } int main(){ cin>>N>>C; for(int i=0;i<N;++i){ cin>>W[i]; } sort(W,W+N); vector<int> subset; f(0,C,subset); cout<<"cnt:"<<cnt; if(!cnt){ cout<<"None"; } return 0; }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。