题意/题解
A A?C
- 题意:输入一个字符串可能是'ABC'也可能是'ARC',如果是'ABC'就输出'ARC',如果是'ARC'就输出'ABC'。
- 题解:sb题
B Trick or Treat
- 题意:有 (n) 个人,(k) 个小吃,给你第 (i) 个小吃有哪几个人有,让你判断没有小吃的有几个人。
- 题解:开个数组记一下谁没小吃就行。
C Peaks
- 题意:有 (n) 个天文台,天文台之间有道路链接,判断有多少天文台比与其链接的其他天文台都高。
- 题解:一边读边一边一边判断这座天文台是否满足条件。
D I hate Factorization
- 题意:给你 (X),让你找到一组 (A,B) 使得 (A^5-B^5=X)
- 题解:(100 ^ 5 = 10000000000),然后在 (-100 sim 100) 之间枚举 (A,B) 发现过不了,那就在 (-200 sim 200) 之间枚举 (A,B) 了。
E This Message Will Self-Destruct in 5s
- 题意:让你求满足 (j-i= a_j+a_i) 这个条件的对数。
- 题解:(j-i= a_j+a_i) 即 (j-a_j=a_i+i),用一个
map
记录一下 (a_i+i) 出现的次数,对于每个 (j-a_j) 答案加上 (j-a_j) 在map
中出现的次数。
F Three Variables Game
- 题意:给你 (n) 个操作和三个数 (A,B,C),每次操作都为
AB
,AC
,BC
的形式,每次操作为从两个数中选一个加一,另一个减一,让你判断最后能不能都不为负数。
- 题解:dfs可以过。
代码
A A?C
#include<cstdio>
#include<cstring>
#include<string>
#include<iostream>
#include<algorithm>
std::string s;
int main() {
std::cin>>s;
if(s=="ABC") puts("ARC");
else if(s=="ARC") puts("ABC");
return 0;
}
B Trick or Treat
#include<cstdio>
#include<cstring>
#include<string>
#include<iostream>
#include<algorithm>
inline void read(int &T) {
int x=0;bool f=0;char c=getchar();
while(c<'0'||c>'9'){if(c=='-')f=!f;c=getchar();}
while(c>='0'&&c<='9'){x=x*10+c-'0';c=getchar();}
T=f?-x:x;
}
int n,k;
bool haved[101];
int main() {
read(n),read(k);
for(int i=1,d;i<=k;++i) {
read(d);
for(int j=1,x;j<=d;++j) {
read(x);
haved[x]=1;
}
}
int ans=0;
for(int i=1;i<=n;++i) {
if(!haved[i]) ++ans;
}
std::cout<<ans<<'
';
return 0;
}
C Peaks
#include<cstdio>
#include<cstring>
#include<string>
#include<iostream>
#include<algorithm>
inline void read(int &T) {
int x=0;bool f=0;char c=getchar();
while(c<'0'||c>'9'){if(c=='-')f=!f;c=getchar();}
while(c>='0'&&c<='9'){x=x*10+c-'0';c=getchar();}
T=f?-x:x;
}
int n,m,a[100001];
bool OK[100001];
int main() {
read(n),read(m);
for(int i=1;i<=n;++i) read(a[i]);
for(int i=1,u,v;i<=m;++i) {
read(u),read(v);
if(a[u]>=a[v]) OK[v]=1;
if(a[v]>=a[u]) OK[u]=1;
}
int ans=0;
for(int i=1;i<=n;++i) {
if(!OK[i]) ++ans;
}
std::cout<<ans<<'
';
return 0;
}
D I hate Factorization
#include<cstdio>
#include<cstring>
#include<string>
#include<iostream>
#include<algorithm>
typedef long long ll;
inline void read(ll &T) {
ll x=0;bool f=0;char c=getchar();
while(c<'0'||c>'9'){if(c=='-')f=!f;c=getchar();}
while(c>='0'&&c<='9'){x=x*10+c-'0';c=getchar();}
T=f?-x:x;
}
ll x;
ll qpow(ll a,ll b) {
ll ans=1,base=a;
while(b) {
if(b&1) ans=ans*base;
base=base*base;
b>>=1;
}
return ans;
}
int main() {
read(x);
for(ll i=-200;i<=200;++i) {
for(ll j=-200;j<=200;++j) {
if(qpow(i,5)-qpow(j,5)==x) {
std::cout<<i<<" "<<j<<'
';
return 0;
}
}
}
return 0;
}
E This Message Will Self-Destruct in 5s
#include<cstdio>
#include<cstring>
#include<string>
#include<iostream>
#include<algorithm>
#include<map>
#define MAXN 200001
inline void read(int &T) {
int x=0;bool f=0;char c=getchar();
while(c<'0'||c>'9'){if(c=='-')f=!f;c=getchar();}
while(c>='0'&&c<='9'){x=x*10+c-'0';c=getchar();}
T=f?-x:x;
}
int n,a[MAXN];
std::map<int,int> m;
int main() {
read(n);
for(int i=1;i<=n;++i) {
read(a[i]);
++m[a[i]+i];
}
long long ans=0;
for(int i=1;i<=n;++i) {
if(i>a[i]) ans+=m[i-a[i]];
}
std::cout<<ans<<'
';
return 0;
}
F Three Variables Game
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<string>
#include<iostream>
#include<algorithm>
inline void read(int &T) {
int x=0;bool f=0;char c=getchar();
while(c<'0'||c>'9'){if(c=='-')f=!f;c=getchar();}
while(c>='0'&&c<='9'){x=x*10+c-'0';c=getchar();}
T=f?-x:x;
}
int n,a,b,c;
char ans[100001];
std::string cmd[100001];
void dfs(int step,int a,int b,int c) {
if(step>n) {
puts("Yes");
for(int i=1;i<=n;++i) {
printf("%c
",ans[i]);
}
exit(0);
}
if(cmd[step]=="AB") {
if(a) {
ans[step]='B';
dfs(step+1,a-1,b+1,c);
}
if(b) {
ans[step]='A';
dfs(step+1,a+1,b-1,c);
}
}
if(cmd[step]=="AC") {
if(a) {
ans[step]='C';
dfs(step+1,a-1,b,c+1);
}
if(c) {
ans[step]='A';
dfs(step+1,a+1,b,c-1);
}
}
if(cmd[step]=="BC") {
if(b) {
ans[step]='C';
dfs(step+1,a,b-1,c+1);
}
if(c) {
ans[step]='B';
dfs(step+1,a,b+1,c-1);
}
}
}
int main() {
read(n),read(a),read(b),read(c);
for(int i=1;i<=n;++i) std::cin>>cmd[i];
dfs(1,a,b,c);puts("No");
return 0;
}
反思: