码迷,mamicode.com
首页 > 其他好文 > 详细

CSP201903-2二十四点

时间:2019-12-27 23:46:52      阅读:97      评论:0      收藏:0      [点我收藏+]

标签:include   nbsp   csp   mic   else   bsp   while   ++   ==   

技术图片

 

 

技术图片

 

 

技术图片

 

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

#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\n"; }else{ cout<<"No\n"; } } }

CSP201903-2二十四点

标签:include   nbsp   csp   mic   else   bsp   while   ++   ==   

原文地址:https://www.cnblogs.com/hyffff/p/12110015.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!