AtCoder-ABC-171题解(A~E)
A-αlphabet
题意:
小写字母输出a,大写字母输出A。
思路:
直接做即可。
Code:
int main(){
char c;
cin>>c;
if(c>='A'&&c<='Z'){
cout<<"A";
}
else cout<<"a";
}
B- Mix Juice
题意:
给一个长度为N的数组,要求选K个数,求选的K个数的和的最小值。 N , K < = 1000 N,K<=1000 N,K<=1000
思路:
排序贪心直接做。
Code:
int q[N];
char s[N];
map<int,int>mp,vis;
int main(){
int n;
n=read();
int k;
k=read();
rep(i,1,n){
q[i]=read();
}
sort(q+1,q+1+n);
int sum=0;
rep(i,1,k){
sum+=q[i];
}
cout<<sum;
}
C-One Quadrillion and One Dalmatians
题意:
有若干条小狗,第 1 1 1个小狗名字是 a a a,第 2 2 2个是 b b b,第27个是 a a aa aa…第 702 702 702个是 z z zz zz,询问第 N N N条小狗的名字是什么。 1 ≤ N ≤ 1000000000000001 1≤N≤1000000000000001 1≤N≤1000000000000001
思路:
通过题意不难发现,小狗的编号等于小狗的名字在非严格二十六进制下的转换。用第 702 702 702条小狗举例子,即 ( s [ 1 ] − a + 1 ) ∗ 26 + ( s [ 2 ] − a + 1 ) = 26 ∗ 26 + 26 = 676 + 26 = 702 (s[1]-a+1)*26+(s[2]-a+1)=26*26+26=676+26=702 (s[1]−a+1)∗26+(s[2]−a+1)=26∗26+