算法竞赛康复训练-Day1

半吊子OIer的康复训练系列

# P1421 小玉买文具

传送门

#include<bits/stdc++.h>
using namespace std;

int main()
{
    int a, b;
    cin >> a >> b;
    double tot = a + b / 10.0;
    int ans = floor(tot / 1.9); 
    cout << ans << endl;
    return 0;
}

# P1909 买铅笔

传送门

#include<bits/stdc++.h>
using namespace std;

int n,a1,a2,a3,b1,b2,b3,ans1,ans2,ans3;

int main() {
    scanf("%d",&n);
    scanf("%d%d",&a1,&b1);
    scanf("%d%d",&a2,&b2);
    scanf("%d%d",&a3,&b3);
    ans1=ceil(n*1.0/a1)*b1;
    ans2=ceil(n*1.0/a2)*b2;
    ans3=ceil(n*1.0/a3)*b3;
    printf("%d\n",min({ans1,ans2,ans3}));
    return 0;
}

# P1089 津津的储蓄计划

模拟即可:

#include <bits/stdc++.h>
using namespace std;

int n=0,s=0,y=0;
int main() {
    for(int i=1;i<=12;i++) {
        cin>>y;
        n+=300-y;
        if(n<0) {
            cout<<"-"<<i<<endl;
            return 0;
        }
        while(n>=100) {
            n-=100;
            s+=100;
        }
    }
    cout<<s*1.2+n<<endl;
    return 0;
}

#P1085 不高兴的津津

#include <bits/stdc++.h>
using namespace std;

int a[8],n,m,maxn=-1,maxm=-1;
int main() {
    for(int i=1;i<=7;i++) {
        cin>>n>>m;
        a[i]=n+m;
        if(a[i]>8 and a[i]>maxn) {
            maxn=a[i];
            maxm=i;
        }
    }
    if(maxn==-1) cout<<0;
    else cout<<maxm<<endl;
    return 0;
}

如果没有不开心的日子那么循环条件不成立,maxn依然是-1,否则maxm被设置为不开心的那天并cout出来

#P035 级数求和

#include <bits/stdc++.h>
using namespace std;

int k;
int ans=0;
double n2=0, sum=0;
int main() {
    cin>>k;
    while(1) {
        n2++;
        sum+=1/n2;
        ans++;
        if(sum>k) {
            cout<<ans<<endl;
            return 0;
        }
    }
    return 0;
}

用一个while循环,当sum>k时就打印出来;

#P980 计数问题

#include <bits/stdc++.h>
using namespace std;

int main() {
    long long n,i,x,b,c,t=0;
    cin>>n>>x;
    for(int i=0;i<=n;i++) {
        int b=i;
        while(b!=0) {
            c=b%10;
            b=b/10;
            if(c==x) t++;
        }
    }
    cout<<t<<endl;
    return 0;
}

个人的理解就是c=b%10然后做一个判断,同时b=b/10去掉个位数后再取模再做判断;

#P1014 Cantor表

这道题看不懂,只能开挂了QAQ


算法竞赛康复训练-Day1
https://zer0ptr.github.io/2025/12/06/oi-big-hand/
作者
zer0ptr
发布于
2025年12月6日
许可协议