NOI / 1.7编程基础之字符串 04石头剪子布
1132:石头剪子布
C++参考代码一:
#include<iostream>
#include<string>
using namespace std;
int b[104];
int main(){
int a;
string s1,s2;
cin>>a;
for(int i=1;i<=a;i++){
cin>>s1>>s2;
if(s1=="Rock"&&s2=="Scissors"){
b[i]=1;
}
if(s1=="Scissors"&&s2=="Rock"){
b[i]=2;
}
if(s1=="Scissors"&&s2=="Paper"){
b[i]=1;
}
if(s2=="Scissors"&&s1=="Paper"){
b[i]=2;
}
if(s1=="Rock"&&s2=="Paper"){
b[i]=2;
}
if(s1=="Paper"&&s2=="Rock"){
b[i]=1;
}
if(s1==s2){
b[i]=3;
}
}
for(int i=1;i<=a;i++){
if(b[i]==1){
cout<<"Player1";
}
if(b[i]==3){
cout<<"Tie";
}
if(b[i]==2){
cout<<"Player2";
}
cout<<endl;
}
return 0;
}
C++参考代码二:
/*
1.7编程基础之字符串 04石头剪子布
http://noi.openjudge.cn/ch0107/04/
*/
#include<cstdio>
#include<cstring>
#include<iostream>
using namespace std;
const int crappy[3][3]=
{
{1,2,0},
{0,1,2},
{2,0,1},
};
const char output[3][10]={"Player2","Tie","Player1"};
const char input[3][10]={"Rock","Scissors","Paper"};
int out[101];
char inputing[2][10];
int changein(int i)
{
for(int j=0;j<3;j++)
{
if(strcmp(input[j],inputing[i])==0)
return j;
}
}
int main()
{
int n;
cin>>n;
for(int i=0;i<n;i++)
{
scanf("%s%s",inputing[0],inputing[1]);
out[i]=crappy[changein(0)][changein(1)];
}
printf("%s",output[out[0]]);
for(int i=1;i<n;i++)
{
printf("\n%s",output[out[i]]);
}
return 0;
}
C++参考代码三:
/* 1.7编程基础之字符串_04石头剪子布 http://noi.openjudge.cn/ch0107/04/ */ #include<cstring> #include<iostream> using namespace std; int main() { string a,b; int n; cin>>n; int i; for(i=1;i<=n;i++) { cin>>a>>b; if(a==b) { cout<<"Tie\n"; } else { //Paper 布 Rock 石头 Scissors 剪子 if( (a=="Rock" && b=="Scissors") || (a=="Scissors"&&b=="Paper") || (a=="Paper"&&b=="Rock") ) { cout<<"Player1\n"; } else { if( (a=="Rock"&&b=="Paper") || (a=="Paper"&&b=="Scissors") || (a=="Scissors"&&b=="Rock") ) { cout<<"Player2\n"; } } } } return 0; }
C++参考代码四:
/*
NOI / 1.7编程基础之字符串
04石头剪子布 2021.11.28 AC
http://noi.openjudge.cn/ch0107/solution/31685699/
*/
#include<iostream>
#include<string>
using namespace std;
int num[26]={};
int Result(string one,string two)
{
if((one=="Scissors"&&two=="Paper")||(one=="Paper"&&two=="Rock")||(one=="Rock"&&two=="Scissors"))
{
return 1;
}
else if(one==two)
{
return 0;
}
else
{
return 2;
}
}
int main()
{
int n;cin>>n;
string one;
string two;
for(int i=0;i<n;++i)
{
cin>>one>>two;
int c=Result(one,two);
if(c==1)
{
cout<<"Player1\n";
}
else if(c==2)
{
cout<<"Player2\n";
}
else
{
cout<<"Tie\n";
}
}
return 0;
}
P1328 [NOIP2014 提高组] 生活大爆炸版石头剪刀布
1881:【14NOIP提高组】生活大爆炸版石头剪子布
P4249 [WC2007]剪刀石头布