CSP201903-2二十四点

Posted hyffff

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CSP201903-2二十四点相关的知识,希望对你有一定的参考价值。

技术图片

 

 

技术图片

 

 

技术图片

 

 如图所示先处理乘号和除号,再处理加减。

#include<bits/stdc++.h>
using namespace std;
bool res[101];
int main(){ int n; cin>>n; int i,j,op1,op2; string inp; char op[3]; int nn[4]; int sum,nnum=0; int opnum=0; int nns[4]; char ops[3]; for(i=0;i<n;i++){ cin>>inp; sum=0; nnum=0; opnum=0; nn[0]=inp[0]-0; nn[1]=inp[2]-0; nn[2]=inp[4]-0; nn[3]=inp[6]-0; op[0]=inp[1]; op[1]=inp[3]; op[2]=inp[5]; j=0; while(j<4){ nns[nnum++]=nn[j]; if(opnum>0&&(ops[opnum-1]==x||ops[opnum-1]==/)){ op1=nns[nnum-2]; op2=nns[nnum-1]; nnum-=2; if(ops[opnum-1]==x){ nns[nnum++]=op1*op2; }else{ nns[nnum++]=op1/op2; } opnum--; } if(j!=3){ ops[opnum++]=op[j]; } j++; } /* for(j=0;j<opnum;j++){ cout<<nns[j]<<ops[j]; } cout<<nns[opnum]<<endl; */ sum=nns[0]; for(j=0;j<opnum;j++){ if(ops[j]==+){ sum+=nns[j+1]; }else{ sum-=nns[j+1]; } } // cout<<sum<<endl; res[i]=(sum==24); } for(i=0;i<n;i++){ if(res[i]){ cout<<"Yes "; }else{ cout<<"No "; } } }

以上是关于CSP201903-2二十四点的主要内容,如果未能解决你的问题,请参考以下文章

201903-2 二十四点

ccf 201903-2 二十四点 python

CCF 201903-2 二十四点 100分

二十四点

二十四点游戏

Scala开发二十四点游戏