- baixianyi 的博客
2026暑 梦熊集训 摸底测代码
- @ 2026-8-2 15:59:17
A题 [KOI 2024 Round 2] 寻宝游戏
#include<bits/stdc++.h>
using namespace std;
int T;
long long l,r,s,t;
int main(){
cin>>T;
while(T--){
cin>>l>>r>>s;
if(l==s||r==s) cout<<1<<endl;
else{
if(abs(l-s)<abs(r-s)){
if(s-l>0){
t=abs(l-s)*2+1;
}else{
t=abs(l-s)*2;
}
}else{
if(r-s>0){
t=abs(r-s)*2;
}else{
t=abs(r-s)*2+1;
}
}
cout<<t<<endl;
}
}
return 0;
}
B题 [JOI2020 预选赛 R2] 求和 / Digit Sum
//#include<bits/stdc++.h>
//using namespace std;
//int n,t;
//int a[1000000];
//bool b[1000000];
//int h(int x){
// int s=0;
// while(x!=0){
// s+=x%10;
// x/=10;
// }
// return s;
//}
//int main(){
// cin>>n;
// for(int i=1;i<=n;i++){
// int j=i,k=1;a[k]=j;
// while(j<n){
// j+=h(j);
// k++;
// a[k]=j;
// }
// if(j==n){
// for(int i=1;i<=k;i++){
// b[a[i]]=1;
// }
// }
// }
// for(int i=1;i<=1000000;i++){
// if(b[i]==1) t++;
// }
// cout<<t;
// return 0;
//}
#include<bits/stdc++.h>
using namespace std;
int n;
int dp[1000010];
int h(int x){
int s=0;
while(x!=0){
s+=x%10;
x/=10;
}
return s;
}
int main(){
cin>>n;
for(int i=1;i<=n;i++){
if(i+h(i)>n) continue;
dp[i+h(i)]+=dp[i]+1;
}
cout<<dp[n]+1;
return 0;
}
C题 [JOIGST 2024] 卡牌游戏 / Card Game 3
#include<bits/stdc++.h>
using namespace std;
long long n,t;
struct node{
int b,c;
}a[500010];
int main(){
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i].b>>a[i].c;
}
if(a[2].c==2){
for(int i=2;i<=n;i++){
if(a[1].b+a[i].b>0){
t+=a[1].b+a[i].b;
}
}
}else if(a[2].c==1){
int ma=1,mi=2,ma2=3;
if(a[1].b<a[2].b) ma=2,mi=1;
for(int i=4;i<=n;i++){
if(a[i].b>a[ma2].b) ma2=i;
}
for(int i=3;i<=n;i++){
if(a[ma].b+a[i].b>0){
t+=a[ma].b+a[i].b;
}
}
if(a[mi].b+a[ma2].b>0){
t+=a[mi].b+a[ma2].b;
}
}
cout<<t;
return 0;
}
//#include<bits/stdc++.h>
//using namespace std;
//int n,t;
//struct node{
// int b,c;
// bool f=1;
//}a[500010];
//int main(){
// cin>>n;
// for(int i=1;i<=n;i++){
// cin>>a[i].b>>a[i].c;
// }
// int ma=1;
// for(int i=2;i<=n;i++){
// if(a[i].b>a[ma].b) ma=i;
// }
// if(a[ma].b<=0) cout<<0;
// else{
// for(int i=1;i<=n;i++){
// if(a[ma].b+a[i].b<0){
// a[i].f=0;
// }
// }
//
// cout<<t;
// }
// return 0;
//}