hdu 6106 Classes
生活随笔
收集整理的這篇文章主要介紹了
hdu 6106 Classes
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Classes
Time Limit: 2000/1000 MS (Java/Others)????Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 290????Accepted Submission(s): 187
Problem Description The school set up three elective courses, assuming that these courses are A, B, C. N classes of students enrolled in these courses.
Now the school wants to count the number of students who enrolled in at least one course in each class and records the maximum number of students.
Each class uploaded 7 data, the number of students enrolled in course A in the class, the number of students enrolled in course B, the number of students enrolled in course C, the number of students enrolled in course AB, the number of students enrolled in course BC, the number of students enrolled in course AC, the number of students enrolled in course ABC. The school can calculate the number of students in this class based on these 7 data.
However, due to statistical errors, some data are wrong and these data should be ignored.
Smart you must know how to write a program to find the maximum number of students. Input The first line of the input gives the number of test cases T; T test cases follow.
Each case begins with one line with one integer N, indicates the number of class.
Then N lines follow, each line contains 7 data: a, b, c, d, e, f, g, indicates the number of students enrolled in A, B, C, AB, BC, AC, ABC in this class.?
It's guaranteed that at least one data is right in each test case.
Limits
T≤100
1≤N≤100
0≤a,b,c,d,e,f,g≤100 Output For each test case output one line contains one integer denotes the max number of students who enrolled in at least one course among N classes. Sample Input 2 2 4 5 4 4 3 2 2 5 3 1 2 0 0 0 2 0 4 10 2 3 4?9 6 12 6 3 5 3 2
Sample Output 7 15 Hint In the second test case, the data uploaded by Class 1 is wrong. Because we can't find a solution which satisfies the limitation. As for Class 2, we can calculate the number of students who only enrolled in course A is 2, the number of students who only enrolled in course B is 6, and nobody enrolled in course C, the number of students who only enrolled in courses A and B is 1, the number of students who only enrolled in courses B and C is 3, the number of students who only enrolled in courses A and C is 1, the number of students who enrolled in all courses is 2, so the total number in Class 2 is 2 + 6 + 0 + 1 + 3 + 1 + 2 = 15.
Source 2017 Multi-University Training Contest - Team 6
Recommend liuyiding???|???We have carefully selected several similar problems for you:??6107?6106?6105?6104?6103? 題意: 學校設立了三門選修課程,假設這些課程是A,B,C。N個班的學生參加了這些課程。
現在,學校想計算每班入讀至少一門課程的學生人數,并記錄最多學生人數。
每班上傳7份資料,在每班中,選課程A的學生人數,選課程B的學生人數,選課程C的學生人數,選課程AB的學生人數,選課程BC的學生人數,選課程AC的學生人數,選課程ABC的學生人數。根據這7個數據,學校可以計算這個班級的學生人數。 現在給你n個班的數據,有些班的數據是錯誤的,我們應判斷出來并忽視它,在剩下數據對的班級里,利用給出的7組數據,求出班級人數,輸出班級最多的人數
題解:判斷條件不充裕導致wa,最后三個條件容易忽視
#include <iostream> #include<cstdio> #include<algorithm> #include<queue> #include<map> #include<vector> #include<cmath> #include<cstring> #include<bits/stdc++.h>using namespace std; int t,n,a,b,c,ab,bc,ac,abc; int ans;int main() {scanf("%d",&t);for(;t>0;t--){scanf("%d",&n);ans=0;for(int i=1;i<=n;i++){scanf("%d%d%d%d%d%d%d",&a,&b,&c,&ab,&bc,&ac,&abc);if( ab<=a && ab<=b && bc<=b && bc<=c && ac<=a && ac<=c &&abc<=ab && abc<=ac && abc<=bc&& ab+ac-abc<=a && bc+ac-abc<=c && ab+bc-abc<=b){ans=max(ans,a+b+c-ab-bc-ac+abc);}}printf("%d\n",ans);}return 0; }?
轉載于:https://www.cnblogs.com/stepping/p/7344089.html
總結
以上是生活随笔為你收集整理的hdu 6106 Classes的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Jetty:配置上下文
- 下一篇: Java并发ReadWriteLock接