标签:span cin 描述 gets .com string color 时间 技术
输出一行结果,代表齐齐进行n盘对局后获得的最高分数。
3 rock paper scissors
3
齐齐可以第1盘出“paper”,第2盘出“scissors”,第3盘出“rock”,最高分数3分。
2 rock rock
1
齐齐可以第1盘出“paper”,第2盘出“rock”,最高分数1分。
【分析】:
【代码】:
#include<iostream> #include<cstdio> #include<cstring> using namespace std; int dp[10000001][3] = {0}; int n = 0; int s[1000001] = {0}; inline int getScole(int a,int b) { if(a==2&&b==1) return 1; if(a==1&&b==2) return -1; if(a==1&&b==0) return 1; if(a==0&&b==1) return -1; if(a==0&&b==2) return 1; if(a==2&&b==0) return -1; return 0; } int main() { cin>>n; for(int i=1;i<=n;i++) { char ss[10]; cin>>ss; if(strcmp(ss,"scissors") == 0) { s[i]=2; } else if(strcmp(ss,"paper") == 0) { s[i]=1; } else if(strcmp(ss,"rock") == 0) { s[i]=0; } } dp[1][0]=getScole(0,s[1]); dp[1][1]=getScole(1,s[1]); dp[1][2]=getScole(2,s[1]); for(int i=2;i<=n;i++) { for(int j=0;j<3;j++) { dp[i][j]=max(dp[i-1][(j+1)%3],dp[i-1][(j+2)%3])+getScole(j,s[i]); } } cout<<max(max(dp[n][0],dp[n][1]),dp[n][2])<<endl; return 0; }
#include<iostream> #include<cstdio> #include<cstdlib> #include<cstring> #include<fstream>//石头1 剪刀2 布3 #include<cmath> #include<algorithm>//while(r<l) using namespace std; int a[1111111]; int dp1[1111111]; int dp2[1111111]; int dp3[1111111]; char s[11]; int main() { int n; int ans=0; cin>>n; memset(dp1,0,sizeof(dp1)); memset(dp2,0,sizeof(dp2)); memset(dp3,0,sizeof(dp3)); for(int i=0;i<n;i++) { cin>>s; if(s[0]==‘r‘) a[i]=1; if(s[0]==‘s‘) a[i]=2; if(s[0]==‘p‘) a[i]=3; if(a[i]==1) { dp3[i]+=1; dp2[i]-=1; if(i!=0) { dp3[i]+=max(dp2[i-1],dp1[i-1]); dp2[i]+=max(dp3[i-1],dp1[i-1]); dp1[i]+=max(dp2[i-1],dp3[i-1]); } } if(a[i]==2) { dp1[i]+=1; dp3[i]-=1; if(i!=0) { dp3[i]+=max(dp2[i-1],dp1[i-1]); dp2[i]+=max(dp3[i-1],dp1[i-1]); dp1[i]+=max(dp2[i-1],dp3[i-1]); } } if(a[i]==3) { dp2[i]+=1; dp1[i]-=1; if(i!=0) { dp3[i]+=max(dp2[i-1],dp1[i-1]); dp2[i]+=max(dp3[i-1],dp1[i-1]); dp1[i]+=max(dp2[i-1],dp3[i-1]); } } } cout<<max(max(dp1[n-1],dp2[n-1]),dp3[n-1]); return 0; }
标签:span cin 描述 gets .com string color 时间 技术
原文地址:http://www.cnblogs.com/Roni-i/p/7911381.html