A
水题:
#include<iostream>
using namespace std;
int main(){
string s;
cin>>s;
if(s=="ABC") cout<<"ARC"<<endl;
else cout<<"ABC"<<endl;
return 0;
}
B
水题:
主要是看懂就行,两个单词容易混淆,所以看样例理解比较好
#include<iostream>
#define maxn 105
using namespace std;
bool a[maxn];
int main(){
int n,k;
cin>>n>>k;
int d;
for(int i=1;i<=k;i++){
cin>>d;
for(int j=1;j<=d;j++){
int res;
cin>>res;
a[res] = 1;
}
}
int tot =0;
for(int i=1;i<=n;i++){
if(a[i]==0) tot++;
}
cout<<tot<<endl;
return 0;
}
C
水题:本身不难,但是看错了,然后耽搁了许些时间
#include<bits/stdc++.h>
#define maxn 100005
using namespace std;
typedef long long ll;
ll a[maxn];
vector<ll> h[maxn];
int main(){
ll n,m;
cin>>n>>m;
for(ll i=1;i<=n;i++){//各个塔的高度
cin>>a[i];
}
ll aa,bb;
for(ll i=1;i<=m;i++){//表示从哪条路能到哪条路
cin>>aa>>bb;
h[aa].push_back(bb);
h[bb].push_back(aa);
}
ll tot = 0;
int flag;
for(ll i=1;i<=n;i++){//对塔遍历
flag = 0;
if(h[i].size()==0){
tot++;
continue;
}
for(ll j=0;j<h[i].size();j++){
if(a[i] > a[h[i][j]]){
flag++;
}
}
if(flag==h[i].size()) tot++;
}
cout<<tot<<endl;
return 0;
}
D
暴力即可
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
ll get(ll x)
{
return x*x*x*x*x;
}
int main()
{
ll x;
cin >>x;
for(ll i=-500;i<=500;i++)
{
int flag=0;
for(ll j=-500;j<=500;j++)
{
if(get(i)-get(j)==x)
{
flag=1;
cout <<i<<" "<<j<<endl;
break;
}
}
if(flag) break;
}
}
E
不是很难,让我很意外
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int maxn = 2e5+10;
ll a[maxn];
int main() {
ios::sync_with_stdio(0);
int n;
cin>>n;
map<ll,ll> ma;
ll ans=0;
for(int i=1;i<=n;i++){
cin>>a[i];
ma[i-a[i]]++;
}
for(int i=1;i<=n;i++){
ans+=ma[i+a[i]];
}
cout<<ans<<endl;
return 0;
}