Run ID | 作者 | 问题 | 语言 | 测评结果 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|
55013 | zhangweiran | 森林之王 | C++ | 通过 | 0 MS | 252 KB | 775 | 2024-11-02 08:23:19 |
//选森林之王 约瑟夫环来进行选择 //森林召开全体大会,选一个动物作为森林之王,输入动物的数量, // 候选者,有三种的机会比其他动物多两次。狮子,老虎和恐龙 #include<iostream> #include<string> using namespace std; string str[10]={}; int a[11],n,m,s=0,cnt=10; //输入 n=3, 1 1 1 3 3 3 1 1 1 1 int main() { cin>>n>>m; for(int i=0;i<n;i++){ cin>>str[i]; if(str[i]=="tiger"||str[i]=="lion"||str[i]=="dinosaur"){ a[i]=3; } else a[i]=1; } cnt=n; int i=0; while(cnt>1){ if(a[i]>0) s++; if(s==m) { a[i]--; if(a[i]==0) cnt--; s=0; } i++; i%=10; } for(int i=0;i<n;i++){ if(a[i]) cout<<"森林之王是:"<<str[i]; } return 0; }