#SPJINT1A. Another A+B Problem

Another A+B Problem

Background

  • 欢迎来到交互入门的学习!
  • 所谓 "交互",就是做题者和评测系统之间的对话。在确定答案之前,你输出的每一份符合格式的内容都代表你向评测机发起了一次 询问,评测机会以输入的形式给出符合题意的回复。然后你只需按照题目所给信息,判断 是否已经得出答案 或者 还需继续询问 即可。当然,你需要满足某些题的特定需求,比如说询问次数不可以超过 3232
  • 注意: 请在输出之后,加一行 flush\mathtt{flush}

下面给出 C,C++,Java,Python\mathtt{C, C++, Java, Python} 的输出方式:

  1. C\mathtt{C}

    printf(233);
    fflush(stdout);
    
  2. C++\mathtt{C++}

    cout << 233 << '\n';
    cout.flush();
    
  3. Java\mathtt{Java}

    System.out.println(233);
    System.out.flush();
    
  4. Python\mathtt{Python}

    print(233)
    stdout.flush()
    

【题目描述】

输入两个整数aabb,求这两个整数的和。

【交互】

本题包含多组测试用例。 第一行给定一个整数 tt,代表测试用例的数量。 接下来,对于每组测试用例,你需要读入一行两个整数 aa, bb,并输出两个整数的和。

  • 在输出一个数之后,你需要按照上述的代码,加一句 flush\mathtt{flush},以防得到 Runtime Error 判定。

在输出之后,你需要读入一个字符串 vv,代表程序对你的答案的判定。如果 vvok,那么你可以继续执行你的代码,否则你需要立即退出你的代码,以防得到 Runtime Error: Killed 判定。

【输入样例】

2
1 2

ok
61 6

ok

【输出样例】

3


67

【本题各种语言程序实现范例】

C

#include <stdio.h>
#include <string.h>

int main(){
    int t;
    scanf("%d", &t);
    while(t --){
        int a, b;
        scanf("%d%d", &a, &b);
        printf("%d\n", a + b);
        char v[50];
        scanf("%s", v);
        if(strcmp(v, "ok") != 0){
            return 0; //直接退出
        }
    }
    return 0;
}

C++

#include <bits/stdc++.h>

using namespace std;

int main(){
    int t;
    cin >> t;
    while(t --){
        int a,b;
        cin >> a >> b;
        cout << a + b << '\n';
        cout.flush();
        string v;
        cin >> v;
        if(v != "ok"){
            return 0; //直接退出
        }
    }
    return 0;
}

Python3

from sys import stdout, exit

t = int(input().strip())
for _ in range(t):
    a, b = map(int, input().strip().split())
    print(a + b)
    stdout.flush()
    v = input().strip()
    if v != 'ok':
        exit()

Java

import java.util.*;
public class Main {
    public static void main(String args[]) throws Exception {
        Scanner scanner = new Scanner(System.in);
        int t = scanner.nextInt();
        while(t -- > 0){
            int a = scanner.nextInt(), b = scanner.nextInt();
            System.out.println(a + b);
            System.out.flush();
            String v = scanner.next();
            if(!v.equals("ok")){
                return; //直接退出
            }
        }
    }
}