CF831C Jury Marks

Posted 王宜鸣

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CF831C Jury Marks相关的知识,希望对你有一定的参考价值。

思路:

关键在于“插入”一个得分之后,其他所有得分也随之确定了。

实现:

 1 #include <iostream>
 2 #include <cstdio>
 3 #include <set>
 4 using namespace std;
 5 const int MAXN = 2005;
 6 int a[MAXN], b[MAXN], sum[MAXN];
 7 int main()
 8 {
 9     int k, n;
10     set<int> ans;
11     cin >> k >> n;
12     for (int i = 1; i <= k; i++) 
13     {
14         cin >> a[i];
15         sum[i] = sum[i - 1] + a[i];
16     }
17     for (int i = 1; i <= n; i++) cin >> b[i];
18     for (int i = 1; i <= k; i++)
19     {
20         set<int> s;
21         for (int j = 1; j <= k; j++)
22         {
23             if (i == j) continue;
24             s.insert(b[1] - (sum[i] - sum[j]));
25         }
26         bool flg = true;
27         for (int j = 2; j <= n; j++)
28         {
29             if (!s.count(b[j])) { flg = false; break; }
30         }
31         if (flg) ans.insert(b[1] - sum[i]);
32     }
33     cout << ans.size() << endl;
34     return 0;
35 }

 

以上是关于CF831C Jury Marks的主要内容,如果未能解决你的问题,请参考以下文章

Codeforces 831C--Jury Marks (暴力)

CF Round433 B. Jury Meeting

cf 853 B Jury Meeting [前缀和]

CF540B School Marks

POJ 1015 / UVA 323 Jury Compromise(01背包,打印路径)

POJ - 1015 Jury Compromise