给定的问题数量为 ,并将正确答案标记为和标记不正确的答案。一个人可以尝试在考试中解决问题并获得其中一个标记答案是否正确,或者标记答案是否错误,或者不理question问题而获得答案分数。任务是找到一个人可以在考试中得分的所有不同分数的计数。
例子:
Input: n = 2, p = 1, q = -1
Output: 5
The different possible marks are: -2, -1, 0, 1, 2
Input: n = 4, p = 2, q = -1
Output: 12
方法:
遍历所有可能数量的正确解决和未解决的问题。将分数存储在包含不同元素的集合中,请记住存在大量未正确解决的问题。
下面是上述方法的实现:
C++
// CPP program to find the count of
// all the different possible marks
// that one can score in the examination
#include
using namespace std;
// Function to return
// the count of distinct scores
int scores(int n, int p, int q)
{
// Set to store distinct values
set hset;
// iterate through all
// possible pairs of (p, q)
for (int i = 0; i <= n; i++)
{
for (int j = 0; j <= n; j++)
{
int correct = i;
int not_solved = j;
int incorrect = n - i - j;
// if there are positive number
// of incorrectly solved problems
if (incorrect >= 0)
hset.insert(p * correct
+ q * incorrect);
else
break;
}
}
// return the size of the set
// containing distinct elements
return hset.size();
}
// Driver code
int main()
{
// Get the number of questions
int n = 4;
// Get the marks for correct answer
int p = 2;
// Get the marks for incorrect answer
int q = -1;
// Get the count and print it
cout << (scores(n, p, q));
}
// This code is contributed by
// Surendra_Gangwar
Java
// Java program to find the count of
// all the different possible marks
// that one can score in the examination
import java.util.*;
class GFG {
// Function to return
// the count of distinct scores
static int scores(int n, int p, int q)
{
// Set to store distinct values
HashSet
hset = new HashSet();
// iterate through all
// possible pairs of (p, q)
for (int i = 0; i <= n; i++) {
for (int j = 0; j <= n; j++) {
int correct = i;
int not_solved = j;
int incorrect = n - i - j;
// if there are positive number
// of incorrectly solved problems
if (incorrect >= 0)
hset.add(p * correct
+ q * incorrect);
else
break;
}
}
// return the size of the set
// containing distinct elements
return hset.size();
}
// Driver code
public static void main(String[] args)
{
// Get the number of questions
int n = 4;
// Get the marks for correct answer
int p = 2;
// Get the marks for incorrect answer
int q = -1;
// Get the count and print it
System.out.println(scores(n, p, q));
}
}
Python3
# Python3 program to find the count of
# all the different possible marks
# that one can score in the examination
# Function to return the count of
# distinct scores
def scores(n, p, q):
# Set to store distinct values
hset = set()
# Iterate through all possible
# pairs of (p, q)
for i in range(0, n + 1):
for j in range(0, n + 1):
correct = i
not_solved = j
incorrect = n - i - j
# If there are positive number
# of incorrectly solved problems
if incorrect >= 0:
hset.add(p * correct +
q * incorrect)
else:
break
# return the size of the set
# containing distinct elements
return len(hset)
# Driver code
if __name__ == "__main__":
# Get the number of questions
n = 4
# Get the marks for correct answer
p = 2
# Get the marks for incorrect answer
q = -1
# Get the count and print it
print(scores(n, p, q))
# This code is contributed by Rituraj Jain
C#
// C# program to find the count of
// all the different possible marks
// that one can score in the examination
using System;
using System.Collections.Generic;
class GFG
{
// Function to return
// the count of distinct scores
static int scores(int n, int p, int q)
{
// Set to store distinct values
HashSet
hset = new HashSet();
// iterate through all
// possible pairs of (p, q)
for (int i = 0; i <= n; i++)
{
for (int j = 0; j <= n; j++)
{
int correct = i;
int not_solved = j;
int incorrect = n - i - j;
// if there are positive number
// of incorrectly solved problems
if (incorrect >= 0)
hset.Add(p * correct
+ q * incorrect);
else
break;
}
}
// return the size of the set
// containing distinct elements
return hset.Count;
}
// Driver code
public static void Main()
{
// Get the number of questions
int n = 4;
// Get the marks for correct answer
int p = 2;
// Get the marks for incorrect answer
int q = -1;
// Get the count and print it
Console.WriteLine(scores(n, p, q));
}
}
/* This code contributed by PrinciRaj1992 */
输出:
12