#SPJINT1A. Another A+B Problem
Another A+B Problem
Background
- 欢迎来到交互入门的学习!
- 所谓 "交互",就是做题者和评测系统之间的对话。在确定答案之前,你输出的每一份符合格式的内容都代表你向评测机发起了一次 询问,评测机会以输入的形式给出符合题意的回复。然后你只需按照题目所给信息,判断 是否已经得出答案 或者 还需继续询问 即可。当然,你需要满足某些题的特定需求,比如说询问次数不可以超过 。
- 注意: 请在输出之后,加一行 。
下面给出 的输出方式:
-
printf(233); fflush(stdout);
-
cout << 233 << '\n'; cout.flush();
-
System.out.println(233); System.out.flush();
-
print(233) stdout.flush()
【题目描述】
输入两个整数,,求这两个整数的和。
【交互】
本题包含多组测试用例。 第一行给定一个整数 ,代表测试用例的数量。 接下来,对于每组测试用例,你需要读入一行两个整数 , ,并输出两个整数的和。
- 在输出一个数之后,你需要按照上述的代码,加一句 ,以防得到 Runtime Error 判定。
在输出之后,你需要读入一个字符串 ,代表程序对你的答案的判定。如果 为 ok
,那么你可以继续执行你的代码,否则你需要立即退出你的代码,以防得到 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; //直接退出
}
}
}
}