はい。
AtCoder Beginner Contest 111
AtCoder Regular Contest 103と同時開催回。
A - AtCoder Beginner Contest 999
n=input()
s=""
for i in n:
if i=="1" or i=="9":
s+=["1","9"][i!="9"]
else:
s+=i
print(s)
#include<bits/stdc++.h>
using namespace std;
#define rep(i,n) for(int i=0;i<n;++i)
int main(){
char s[5];
scanf("%s",s);
rep(i,3) {
if (s[i]=='1') printf("%c",'9');
else if (s[i]=='9') printf("%c",'1');
else printf("%c",s[i]);
}
puts("");
return 0;
}
頑張って置き換えます。
B - AtCoder Beginner Contest 111
n=int(input())
for i in range(n,1000):
if i%111==0:
print(i)
exit()
#include<bits/stdc++.h>
using namespace std;
#define sc1(a) scanf("%d",&a)
int main(){
int n,m,ans;
sc1(n);
printf("%d\n",(n/100*111)>=n?n/100*111:(n/100+1)*111);
return 0;
}
ループ回しても111で上手く割り切れるのを探そうとするのも。
C - /\/\/\/
n=int(input())
l=[int(i) for i in input().split()]
e,o={0:0},{0:0}
for a,i in enumerate(l):
if a%2:
if i in o: o[i]+=1
else: o[i]=1
else:
if i in e: e[i]+=1
else: e[i]=1
chko,chke=[0,0,0,0],[0,0,0,0]
for i in e:
if e[i]>=chke[1]:
chke[3]=chke[1]
chke[2]=chke[0]
chke[1]=e[i]
chke[0]=i
elif e[i]>=chke[3]:
chke[3]=e[i]
chke[2]=i
for i in o:
if o[i]>=chko[1]:
chko[3]=chko[1]
chko[2]=chko[0]
chko[1]=o[i]
chko[0]=i
elif o[i]>=chko[3]:
chko[3]=o[i]
chko[2]=i
if chko[0]!=chke[0]:
print((n//2-chko[1])+(n//2-chke[1]))
else:
ans=min((n//2-chko[1])+(n//2-chke[3]),(n//2-chko[3])+(n//2-chke[1]))
print(ans)
#include<bits/stdc++.h>
using namespace std;
#define rep(i,n) for(int i=0;i<n;++i)
#define sc1(a) scanf("%d",&a)
int main(){
int n,m;
sc1(n);
pair<int, int> p={0,0}, q={0,0};
map<int ,int> a, b;
rep(i,n){
sc1(m);
if(i%2) a[m]++;
else b[m]++;
}
for(auto x=a.begin();x!=a.end();x++) {
if (x->second > a[p.first]) {
p.second=p.first;
p.first = x->first;
} else if (x->second > a[p.second]) {
p.second = x->first;
}
}
for(auto x=b.begin();x!=b.end();x++) {
if (x->second > b[q.first]) {
q.second=q.first;
q.first = x->first;
} else if (x->second > b[q.second]) {
q.second = x->first;
}
}
printf("%d\n",p.first!=q.first?(n/2-a[p.first])+(n/2-b[q.first]):min((n/2-a[p.second])+(n/2-b[q.first]), (n/2-a[p.first])+(n/2-b[q.second])));
return 0;
}
最多のものや2番目の多いものを探してよしなに。