Educational Codeforces Round 116
作者:互联网
A. AB Balance
分析:只要第一个和最后一个相同,均满足
#include "bits/stdc++.h"
using namespace std;
const int maxn=1000+1;
string s[maxn];
int main()
{
//freopen("in.txt","r",stdin);
int n;
ios::sync_with_stdio(false);
cin>>n;
for(int i=1;i<=n;i++){
cin>>s[i];
int len=s[i].length();
if(s[i][0]==s[i][len-1]) cout<<s[i]<<endl;
else{
s[i][len-1]=s[i][0];
cout<<s[i]<<endl;
}
}
return 0;
}
#include "bits/stdc++.h"
using namespace std;
typedef long long LL;
int main()
{
//freopen("in.txt","r",stdin);
int T;
ios::sync_with_stdio(false);
cin>>T;
while(T--){
LL n,k;
cin>>n>>k;
LL ans=0,cur=1;
while(cur<k){
cur<<=1;
ans++;
}
if(cur<n) ans+=(n-cur+k-1)/k;
cout<<ans<<endl;
}
return 0;
}
C. Banknotes
分析:贪心,尽可能装小的,第
i
i
i种最多可以装
a
[
i
+
1
]
a
[
i
]
−
1
\frac {a[i+1]}{a[i]} -1
a[i]a[i+1]−1个
#include "bits/stdc++.h"
using namespace std;
typedef long long LL;
const int maxn=10+1;
int T,n,k;
LL a[maxn];
LL quick_mul(LL a,LL b){
LL res = 1;
while(b){
if(b&1) res*=a;
a*=a;
b>>=1;
}
return res;
}
int main()
{
//freopen("in.txt","r",stdin);
ios::sync_with_stdio(false);
cin>>T;
while(T--){
cin>>n>>k;
k++;
for(int i=0;i<n;i++){
LL x;
cin>>x;
a[i] = quick_mul(10LL,x);
}
LL ans = 0;
for(int i=0;i<n;i++){
int cnt = k;
if(i!=n-1) cnt=min(cnt,(int)(a[i+1]/a[i]-1));
ans+=1LL*(LL)cnt*a[i];
k-=cnt;
}
cout<<ans<<endl;
}
return 0;
}
标签:std,Educational,int,LL,cin,long,Codeforces,116,cnt 来源: https://blog.csdn.net/weixin_42060154/article/details/121483681