首页 > 试题广场 >

判断题

[编程题]判断题
  • 热度指数:9848 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解
牛牛参加了一场考试,考试包括n道判断题,每做对一道题获得1分,牛牛考试前完全没有准备,所以考试只能看缘分了,牛牛在考试中一共猜测了t道题目的答案是"正确",其他的牛牛猜为"错误"。考试结束后牛牛知道实际上n道题中有a个题目的答案应该是"正确",但是牛牛不知道具体是哪些题目,牛牛希望你能帮助他计算可能获得的最高的考试分数是多少。

输入描述:
输入包括一行,一行中有三个正整数n, t, a(1 ≤ n, t, a ≤ 50), 以空格分割


输出描述:
输出一个整数,表示牛牛可能获得的最高分是多少。
示例1

输入

3 1 2

输出

2

python3两行

最大分数 = 正确题目判断对的 + 错误题目判断对的

n, t, a = map(int,input().split())
print(min(t, a) + min(n - t, n - a))
发表于 2019-02-24 15:32:40 回复(1)
#include<stdio.h>
int min(int a,int b){return a<b?a:b;}
int main(){
    int n,t,a;
    scanf("%d%d%d",&n,&t,&a);
    printf("%d",min(n-t,n-a)+min(t,a));
}

发表于 2017-11-29 18:04:17 回复(1)
dmf头像 dmf
n,t,a=map(int,input().split())
print(n-abs(a-t))
其实就是题目数量-至少错几道 就可以了
编辑于 2019-05-08 16:16:35 回复(0)
//一道简单的逻辑题,稍微分析一下,就能得到max=n-abs(t-a)这个结论了。
#include <iostream>
using namespace std;
int main(void)
{  int n, t, a;    cin >> n >> t >> a;  int res = n - abs(t - a);  cout << res << endl;  return 0;
}

编辑于 2019-04-22 16:04:26 回复(0)
#include<iostream>
using namespace std;
int main()
{
    int a,n,t;
    cin>>n>>t>>a;
    cout<<((t>a)?(a+n-t):(t+n-a))<<endl;
    return 0;
}
发表于 2019-03-11 17:33:21 回复(0)
JAVA  语言
import java.util.*;
public class Main {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner cin=new Scanner (System.in);
		int n=cin.nextInt();//总题目数
		int t=cin.nextInt();//在考试中牛牛选择√的题目数
		int a=cin.nextInt();//n道题目中√的题目数
		int max=0;
		if(t<=a) {
			max=max+t+n-a;
		}
		else {
			max=max+a+n-t;
		}
		System.out.print(max);

	}

}

发表于 2019-11-05 16:31:07 回复(0)
分三种情况:t=a时,这时的最高分数就是蒙的全部都对;Maxscore=n;
t>a时,要保证分数最高也只是蒙的全部都对,对应蒙‘错’的也对 Maxscore=a+n-t;
t<a时,要想获得的分数最高蒙的全部都对。Maxscore=t+n-a;
#include<iostream>
using namespace std;
int main()
{
	int a, t, n;
	int Maxscore=0;
	cin >> n >> t >> a;
	if (t == a)
		Maxscore = n;
	else if (t > a)
		Maxscore = a + n - t;
	else
		Maxscore = t + n - a;
	cout << Maxscore << endl;
	return 0;
}


发表于 2019-10-11 15:42:08 回复(0)
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(); //实际上的正确
        int noNiu = n - t; //牛牛的错误
        int noRel = n - a; //实际上的错误

        int sum = 0;
        if (t > a) {
            sum += a;
        } else {
            sum += t;
        }
        if (noNiu > noRel) {
            sum += noRel;
        } else {
            sum += noNiu;
        }
        System.out.println(sum);
    }
}
发表于 2019-06-14 21:11:15 回复(0)
#include<iostream>
using namespace std;
int main(){
    int n, t, a;
    cin >> n >> t >> a;
    if (t == a)
        cout << n << endl;
    if (t < a)
        cout << t+n-a << endl;
    if (t>a)
        cout << a + n - t << endl;
    return 0;
}

发表于 2019-04-20 17:46:17 回复(0)
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();
        help(n,t,a);
    }

    private static void help(int n,int t,int a) {
        int ans=0;
        if(a>=t) {  //实际答案为“正确”的比猜的多            
            ans+=t;     //加上猜“正确”的得分
            ans+=(n-a); //加上猜“错误”的得分
        }
        else {
            ans+=a;     //加上猜“正确”的得分
            ans+=(n-t); //加上猜“错误”的得分
        }
        System.out.println(ans);
    }
}
发表于 2019-04-13 16:58:40 回复(0)
超水的题目啊。。。

n, t, a = map(int, input().split())
print(min(t, a) + min(n - t, n - a))

发表于 2019-03-18 10:05:24 回复(0)
Python Code
n,t,a=map(int,input().split())
print(n-abs(t-a))

发表于 2019-03-17 12:43:10 回复(0)
#include<iostream>

using namespace std;

int main() {
    int n, t, a;
    cin >> n >> t >> a;
    if (t == a) {
        cout << n << endl;
    } else if (t < a) {
        int wrong = n - a;
        int welldone = wrong + t;
        cout << welldone <<endl;
    } else {
        int wrong = n - a;
        wrong = wrong - (t - a);
        int welldone = wrong + a;
        cout << welldone << endl;
    }
    return 0;
}
发表于 2019-01-22 23:41:20 回复(0)
import java.util.Scanner;
public class Main{
    public static void main(String[] args){
        try(Scanner in = new Scanner(System.in)){
            int n = in.nextInt(),t = in.nextInt(),a = in.nextInt();
            System.out.println(helper(n,t,a));
        }
    }
    public static int helper(int n,int t,int a){
        if(t < a) return t + n - a;
        else return a + n - t;
    }
}

发表于 2019-01-15 21:35:50 回复(0)
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

/**
 * @author wylu
 */
public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String[] strs = br.readLine().split(" ");
        int n = Integer.parseInt(strs[0]), t = Integer.parseInt(strs[1]), a = Integer.parseInt(strs[2]);
        System.out.println(Math.min(t, a) + Math.min(n - t, n - a));
    }
}

发表于 2019-01-13 23:21:39 回复(0)
#include <bits/stdc++.h>

using namespace std;

int main()
{     int n,t,a;     while(cin>>n>>t>>a)         cout<<n-abs(t-a)<<endl;     return 0;
}

发表于 2019-01-10 23:12:24 回复(0)
最大分数相关的只有猜测为正确的数量和真正正确的数量,两个数的差就是丢失的分数,用总题目数减去丢失的分数,就是最大的分数
所以只要思路正确马上就能做出来,这个的难度并不在算法上
#include<iostream>
using namespace std;
int main(){
    int n,t,a;
    cin>>n>>t>>a;
    if(t>a)
        cout<<n-(t-a)<<endl;
    else
        cout<<n-(a-t)<<endl;
}

发表于 2019-03-03 16:33:59 回复(0)
事实上,最大分数相关的只有猜测为正确的数量和真正正确的数量,两个数的差就是丢失的分数,用总题目数减去丢失的分数,就是最大的分数
发表于 2019-02-28 23:27:59 回复(0)
n , t , a = map(int,input().split())
gf = n-t
ff = n-a

print(min(gf+a , ff+t))



发表于 2023-04-15 23:08:49 回复(0)
package main

import (
    "fmt"
)

func main() {
    var n int
    var t int
    var a int
    var ans int
    fmt.Scan(&n, &t, &a)
    if t <= a {
        ans = t + n - a
    } else {
        ans = a + n - t
    }
    fmt.Println(ans)
}

发表于 2021-08-15 19:02:31 回复(0)