题目描述
牛牛参加了一场考试,考试包括n道判断题,每做对一道题获得1分,牛牛考试前完全没有准备,所以考试只能看缘分了,牛牛在考试中一共猜测了t道题目的答案是"正确",其他的牛牛猜为"错误"。考试结束后牛牛知道实际上n道题中有a个题目的答案应该是"正确",但是牛牛不知道具体是哪些题目,牛牛希望你能帮助他计算可能获得的最高的考试分数是多少。
输入描述::输入包括一行,一行中有三个正整数n, t, a(1 ≤ n, t, a ≤ 50), 以空格分割
输出描述::输出一个整数,表示牛牛可能获得的最高分是多少。
示例:
输入:3 1 2 输出:2
- 思路:最高分=答对+答错
牛牛认为,t道题答对,n-t道题答错
实际结果,a道题答对,n-a道题答错
所以,point=min(t,a)+min(n-t,n-a)
- 代码
import java.util.Scanner;
public class Main{
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
int n=sc.nextInt();
int t=sc.nextInt();
int a=sc.nextInt();
System.out.println(Math.min(t,a)+Math.min(n-t,n-a));
}
}
注:
- 树上的旅行、数字转换机不用做;
- 连线游戏,画图;
- 舞会,取巧;
- 内存条,想复杂了?我以为需要循环,因为是循环队列,没想到l<r+w就通过了;
- 区间表达,一开始考虑a[i]与i之间的关系,通过率30%,后来递增序列,使用循环依次计算就通过了。
- 石子合并:找规律,发现顺序对结果没有影响,很简单。
- 小Q的排序
考虑情况
1)最大和最小都不在正确的位置上,两次;
2)最大和最小值都在正确的位置上,一次;
3)最大后或最小有一个在正确的位置上,一次; - 交错序列:感觉这题不严谨,判断就好了