您的位置:首页 > 其它

简单题:不等式(知道了运算符号算是字符可以定义为char类型)待解决

2016-07-06 02:12 351 查看
  今天有点忙,没来得及写题看cs50,本来打算刷一题就去碎觉(~﹃~)~zZ困然后遇到了,伪装的 很简单,实际上我还是不会的这一题,没看答案前,懵,困得大脑停止运转,不过尝试了一下,哇塞,原来运算符号算是字符可以定义为char类型  不过,如何将读入的转化为条件,看了眼答案,觉得智商受到侮辱,为什么我就没想到可以先通过if语句判断输入的运算符是哪一个,然后再用选择语句进行不同的运算。顿时精神,不过还是决定明天再看,电脑电量不多了==,主要我的电量更不多了,困,明日补上。

不等式

时间限制:10000ms单点时限:1000ms内存限制:256MB

描述

给定n个关于X的不等式,问最多有多少个成立。每个不等式为如下的形式之一:X < CX <= CX = CX > CX >= C

输入

第一行一个整数n。以下n行,每行一个不等式。数据范围:1<=N<=50,0<=C<=1000

输出

一行一个整数,表示最多可以同时成立的不等式个数。样例输入
4
X = 1
X = 2
X = 3
X > 0
样例输出
2
第二天
#include <iostream>#include <stdio.h>#include <string>#include <cstring>using namespace std;int main(){int n,  y, o[55], totle=0;char x,fuhao[55];cin >> n;for(int i = 0 ; i<n ; i++){cin>>x>>fuhao[i]>>y;}for(int j = 0 ; j < n; j++){if(fuhao[j] == '<'){o[j] = 0;}else if(fuhao[j] == '<='){o[j] = 1;}else if(fuhao[j] == '='){o[j] = 2;}else if(fuhao[j] == '>'){o[j] = 3;}else if(fuhao[j] == '>='){o[j] = 4;}}for(x = 0; x < 1001; x++){int tot = 0;for(int k = 0 ; k < n; k++){switch(o[k]){case 0:{if(x <  y)tot++;}case 1:{if(x <= y)tot++;}case 2:{if(x = y)tot++;}case 3:{if(x > y)tot++;}case 4:{if(x >= y)tot++;}if(tot > totle)totle = tot;}}}cout << totle;return 0;} 
今天是第二天,写了一份一看就造TimeLimit Exceeded 思路还是有点混乱,酱样子的枚举未免太过麻烦,可是想不出好法子而且应该把x+0.5,用小数枚举,这个表示理解,数学问题,其他的答案还是迷糊看不懂,明日接着做这道题,诶,基础不好,笨蛋阿傻要多用心认真点啊!!!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: