微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

TEX 引用 UVa 问题 272,错误答案和正确答案

如何解决TEX 引用 UVa 问题 272,错误答案和正确答案

我指的是这个 https://onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=208 问题。这个问题很容易而且不言自明。我进行了 2 次尝试,其中一次被接受,另一次被判定为错误答案。

被选中的代码在下面我按字符输入和输出做字符的地方,

#include <bits/stdc++.h>
using namespace std;

int main() {
    char c;
    int flag = 0;
    while((c = getchar())!=EOF) {
        if(c == '\"') {
            if(flag) {
                cout<<'\''<<'\'';
                flag = 0;
            }
            else {
                cout<<'`'<<'`';
                flag = 1;
            }
        }
        else {
            cout<<c;
        }
    }
    return 0;
}

以下是得到错误答案的代码,这里我一次输入一行。对我来说,它做同样的事情,但答案是错误的。

#include <bits/stdc++.h>
using namespace std;

int main() {
    string s;
    int flag = 0,c = 0;
    while(getline(cin,s)) {

        if(c) {cout<<'\n';}     //don't print newline first time
        c=1;

        for(auto& x : s) {
            if(x == '\"') {
                if(flag) {
                    cout<<'\''<<'\'';
                    flag = 0;
                }
                else {
                    cout<<'`'<<'`';
                    flag = 1;
                }
            }
            else {
                cout<<x;
            }
        }
    }
    return 0;
}

我无法弄清楚是什么问题? 如果有人能指出第二版中的问题会很有帮助。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。