A. Integer Sum
题意:N个数求和
AC代码:
#include <iostream>
#include <algorithm>
#include <cstring>
using namespace std;
typedef long long LL;
const int N = 110;
int n, sum;
int a[N];
int main()
{
cin >> n;
for(int i = 1; i <= n; i ++)
{
cin >> a[i];
sum += a[i];
}
cout << sum;
return 0;
}
B. Everyone is Friends
题意:
思路:直接用应该二维数组记录,1 - 2, 2 - 1都要计算,然后设立2个for循环,给参加的2人标记为1;最后判断若有任意的2人组合未被标记成1,则输出No;都被标记了输出Yes
AC代码:
#include <iostream>
#include <algorithm>
#include <cstring>
using namespace std;
const int N = 110;
int map[N][N];
int st[N];
int n, m, num;
int main()
{
cin >> n >> m;
for (int i = 0; i < m; i ++)
{
cin >> num;
for (int j = 1; j <= num; j ++) cin >> st[j];
for (int i = 1; i <= num; i ++)
{
for (int j = i + 1; j <= num; j ++)
{
map[st[i]][st[j]] = 1;
map[st[j]][st[i]] = 1;
}
}
}
for (int i = 1; i <= n; i ++)
{
for (int j = i + 1; j <= n; j ++)
{
if (map[i][j] == 0 && map[j][i] == 0)
{
cout << "No";
return 0;
}
}
}
cout << "Yes";
return 0;
}
C. Max Even
题意:
思路:由题易知, 该最大偶数应该是最大的两个偶数相加或者是最大的两个奇数相加, 所以我们分别维护一下最大和次大的偶数和奇数即可。
AC代码:
#include <bits/stdc++.h>
using namespace std;
int main(){
int n;
cin >> n;
vector<int> even, odd;
for(int i = 0; i < n; i++){
int x;
cin >> x;
if(x & 1){
odd.push_back(x);
}
else{
even.push_back(x);
}
}
sort(odd.rbegin(), odd.rend());
sort(even.rbegin(), even.rend());
int mx = -1;
if(odd.size() >= 2){
mx = max(mx, odd[0]+odd[1]);
}
if(even.size() >= 2){
mx = max(mx, even[0] + even[1]);
}
cout << mx;
}