题解

47 条题解

  • 0
    @ 2006-11-09 21:24:14

    ……千分制是什么意思……我菜

  • 0
    @ 2006-11-17 19:17:01

    因为他错只有两种情况(不包括不写):

    1.1和3相加会错,得数变小;

    2.加数任一个大于10相加会错,不会进位,得数又小.

    所以,他的答案要么对,要么小,所以,只要其中一个环节错了,整个就错了.

    我为这道题贡献了7个百分点,但好像又降下去了.

    只是个字符处理,小心点就行了

    再BS下自己,pos中的两个变量,竟然搞反了,弄得我半天都返回0....

  • 0
    @ 2006-11-09 21:04:15

    第4组的正确结果到底是多少。???

  • 0
    @ 2006-11-09 21:09:36

    MS大家WA得一样啊

    第四个都是600

    一个简单题5次才过,浪费通过率啊~~~

    PS:这个事例告诉我们,不要做刚出好的题目…………

  • 0
    @ 2006-11-09 20:29:01

    那为什么9+5=14呢

    它的本质是09+05,那么应该是4啊

  • 0
    @ 2006-11-30 19:31:21

    其实毛头是我弟,我就是老奔,毛头比题目中说的还笨,超过5他就不会了……

    其实这道题的本意:出现了一个环节错就全错了,具体原因congming789牛已经帮我说了……慢了一点……

    答疑:千分制就是满分1000

    数据的确有点弱,因为全是人工输入,也不敢搞得太BT了,其实要增加难度的话我就写个超简样例,可是不想这样

    大家等着吧,我会出数据MAXLONGINT版的,新版中会放毛头照片哟

  • -1
    @ 2017-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;
    }
    //不能一边看电视剧一边做题

信息

ID
1300
难度
5
分类
字符串 点击显示
标签
(无)
递交数
421
已通过
137
通过率
33%
被复制
3
上传者