47 条题解
-
0[+∞]CPU LV 3 @ 2006-11-09 21:24:14
……千分制是什么意思……我菜
-
02006-11-17 19:17:01@
因为他错只有两种情况(不包括不写):
1.1和3相加会错,得数变小;
2.加数任一个大于10相加会错,不会进位,得数又小.
所以,他的答案要么对,要么小,所以,只要其中一个环节错了,整个就错了.
我为这道题贡献了7个百分点,但好像又降下去了.
只是个字符处理,小心点就行了
再BS下自己,pos中的两个变量,竟然搞反了,弄得我半天都返回0.... -
02006-11-09 21:04:15@
第4组的正确结果到底是多少。???
-
02006-11-09 21:09:36@
MS大家WA得一样啊
第四个都是600一个简单题5次才过,浪费通过率啊~~~
PS:这个事例告诉我们,不要做刚出好的题目…………
-
02006-11-09 20:29:01@
那为什么9+5=14呢
它的本质是09+05,那么应该是4啊 -
02006-11-30 19:31:21@
其实毛头是我弟,我就是老奔,毛头比题目中说的还笨,超过5他就不会了……
其实这道题的本意:出现了一个环节错就全错了,具体原因congming789牛已经帮我说了……慢了一点……答疑:千分制就是满分1000
数据的确有点弱,因为全是人工输入,也不敢搞得太BT了,其实要增加难度的话我就写个超简样例,可是不想这样
大家等着吧,我会出数据MAXLONGINT版的,新版中会放毛头照片哟 -
-12017-11-18 14:52:00@
#include <iostream>
#include <stdio.h>
using namespace std;inline bool isright(int &l_op,int r_op,char oper,int n)
{
if(oper == '+') {
if(l_op + r_op > n) return false;
if((l_op/10 || r_op/10) && l_op%10 + r_op%10 > 9) return false;
if((l_op/10 == 1 && r_op/10 == 3)
|| (l_op/10 == 3 && r_op/10 == 3)
|| (l_op%10 == 3 && r_op%10 == 1)
|| (l_op%10 == 1 && r_op%10 == 3))
return false;
else {
l_op += r_op;
return true;
}
}
else {
l_op -= r_op;
return true;
}
}void miui9(int n,int mt)
{
int count = 0;
for(int i = 0; i < mt; i++) {
int right = 0,wrong = 0,r_op;
scanf("%d",&right);
wrong = right;
while(true) {
char oper = getchar();
if(oper == '=') break;
scanf("%d",&r_op);
int tmp = right;
if(((right > n || r_op > n) || !isright(tmp,r_op,oper,n))) {
wrong = -1;
while(oper = getchar(),oper != '=');
break;
}
else {
isright(right,r_op,oper,n);
wrong = right;
}
}
if(wrong != -1 && wrong == right) {
cout << right << " " << wrong << "right" << endl;
}
else
cout << right << " " << wrong << "wrong" << endl;if(wrong != -1 && wrong == right)
count ++;
}
cout << (1000*count)/mt;
}int main(int argc, char const *argv[])
{
int n,mt;
cin >> n >> mt;
miui9(n,mt);
return 0;
}
//不能一边看电视剧一边做题