• CCF CSP 201903-2 二十四点


    试题编号: 201903-2
    试题名称: 二十四点
    时间限制: 1.0s
    内存限制: 512.0MB

    在这里插入图片描述
    在这里插入图片描述

    思路:

    1.将四个数字和三个运算符分别用vector存储;
    2.每次遍历运算符vector,寻找’x’或者’/’,然后进行运算,如果没有找到,则用第一个运算符进行运算;
    3.每次运算后将参加运算的两个数字和运算符删去,在数字vector里对应位置插入运算结果;
    4.一共算三次,结束后根据运算结果是否为24分别进行输出;

    代码:

    #include<iostream>
    #include<vector>
    using namespace std;
    int operate(int a,char c,int b){
    	if(c=='+') return a+b;
    	if(c=='-') return a-b;
    	if(c=='x') return a*b;
    	if(c=='/') return a/b;
    }
    int main(){
    	int n;
    	scanf("%d",&n);
    	for(int i=0;i<n;i++){
    		vector<int> num(4);
    		int pos,rs=0;
    		vector<char> op(3);
    		for(int j=0;j<3;j++){
    			scanf("%d",&num[j]);
    			scanf("%c",&op[j]);
    		}
    		scanf("%d",&num[3]);
    		for(int j=0;j<3;j++){
    			for(pos=0;pos<op.size()&&op[pos]!='x'&&op[pos]!='/';pos++);
    			if(pos==op.size()) pos=0;
    			rs=operate(num[pos],op[pos],num[pos+1]);
    			num[pos]=rs; 
    			num.erase(num.begin()+pos+1);
    			op.erase(op.begin()+pos);
    		}
    		printf(rs==24?"Yes
    ":"No
    ");
    	}
    	return 0;
    }
    
  • 相关阅读:
    证明最大公约数Stein算法(高精度算法)
    链表常用内容和易犯错误
    斐波那契数列——各种公式证明
    用矩阵和待定系数法求数列的分析(复杂度log(n))
    盒模型(外边距)
    盒子模型(内边距)
    盒子模型(边框)
    jupyterhub
    1分钟k线图能反映什么?(转)
    python的self
  • 原文地址:https://www.cnblogs.com/yuhan-blog/p/12308991.html
Copyright © 2020-2023  润新知