午夜的留言附属站 » 日志 » DividingIntoTeams
DividingIntoTeams
任腾 发表于 2008-05-06 12:35:36
#include <string>
#include <iostream>
#include <sstream>
#include <vector>
#include <list>
#include <map>
#include <set>
using namespace std;
struct DividingIntoTeams{
string findYourTeam(vector<int> af,vector<int> bf,vector<int> cf,int k){
int n=af.size();
bool flag[100]={0};
int turn=0;
while (1){
int key=-1;
if (turn==0){
for (int i=0;i<af.size();i++){
if (!flag[af[i]]){
key=af[i];
break;
}
}
}else if (turn==1){
for (int i=0;i<bf.size();i++){
if (!flag[bf[i]]){
key=bf[i];
break;
}
}
}else{
for (int i=0;i<cf.size();i++){
if (!flag[cf[i]]){
key=cf[i];
break;
}
}
}
flag[key]=true;
if (key==k){
break;
}
turn++;
if (turn==3) turn=0;
}
if (turn==0){
return "Alex";
}else if (turn==1){
return "Bob";
}else
return "Charlie";
}
};
#include <iostream>
#include <sstream>
#include <vector>
#include <list>
#include <map>
#include <set>
using namespace std;
struct DividingIntoTeams{
string findYourTeam(vector<int> af,vector<int> bf,vector<int> cf,int k){
int n=af.size();
bool flag[100]={0};
int turn=0;
while (1){
int key=-1;
if (turn==0){
for (int i=0;i<af.size();i++){
if (!flag[af[i]]){
key=af[i];
break;
}
}
}else if (turn==1){
for (int i=0;i<bf.size();i++){
if (!flag[bf[i]]){
key=bf[i];
break;
}
}
}else{
for (int i=0;i<cf.size();i++){
if (!flag[cf[i]]){
key=cf[i];
break;
}
}
}
flag[key]=true;
if (key==k){
break;
}
turn++;
if (turn==3) turn=0;
}
if (turn==0){
return "Alex";
}else if (turn==1){
return "Bob";
}else
return "Charlie";
}
};
相关日志:
收藏:
QQ书签
del.icio.us
订阅:
Google
抓虾
