春混第三场

Mahmoud and a Triangle

给很多根木棍,看能不能从中选三个组合一个三角形

复制代码
#pragma GCC optimize(1)
#pragma GCC optimize(2)
#pragma GCC optimize(3,"Ofast","inline")
#include<iostream>
#include<algorithm> 
using namespace std;
const int N=1e5+10;
int a[N];
int main(){
    int n;
    cin>>n;
    for(int i=1;i<=n;i++)
        cin>>a[i];
    sort(a+1,a+n+1);
    int f=1;
    for(int i=2;i<=n;i++)
    {
        if(a[i]<a[i-1]+a[i-2])
        {
            f=0;
            break;
        }
    }
    if(f) cout<<"NO"<<endl;
    else cout<<"YES"<<endl;
    return 0;
} 
复制代码

问题 N: Worms

给每一堆的个数,给编号看看在哪一堆里面

这个ac67不知道为什么,数据测试我感觉都是对的..

复制代码
#include<iostream>
#include<algorithm>
#include<vector>
#include<cmath>
using namespace std;
const int N=1e5+10;
int a[N],s[N];
int main(){
    int n;
    cin>>n;
    for(int i=1;i<=n;i++)
    {
        cin>>a[i];
        s[i]=s[i-1]+a[i];
    }
    //for(int i=1;i<=n;i++)
    //    cout<<s[i]<<" ";
    int q;
    cin>>q;
    while(q--)
    {
        int x;
        cin>>x;
        for(int i=1;i<=n;i++)
        {
            if(x>=s[i-1]+1&&x<=s[i])
                cout<<i<<endl;
        }
    }
    return 0;
}
复制代码

换种方法写了ac了

复制代码
#include<iostream>
#include<algorithm>
#include<vector>
#include<cmath>
using namespace std;
const int N=1e6+10;
int a[N],s[N];
int main(){
    int n;
    cin>>n;
    int sum=0;
    for(int i=1;i<=n;i++)
    {
        int x;
        cin>>x;
        for(int j=sum+1;j<=sum+x;j++)
            s[j]=i;
        sum+=x;
    }
    int q;
    cin>>q;
    while(q--)
    {
        int x;
        cin>>x;
        cout<<s[x]<<endl; 
    }
    return 0;
}
复制代码

问题 O: Lucky Mask

给ab两个数,要求比a大(一定要大,不能等,我第一次就是这里卡了81),从左到右所有47的组合能等于b的最小值

复制代码
#pragma GCC optimize(1)
#pragma GCC optimize(2)
#pragma GCC optimize(3,"Ofast","inline")
#include<iostream>
#include<algorithm> 
#include<cstring>
using namespace std;
int main(){
    int a,b;
    cin>>a>>b;
    if(b>a)
    {
        cout<<b<<endl;
        return 0;
    }
    for(int i=a+1;;i++)
    {
        char ch[100010];
        sprintf(ch,"%d",i);
        int m=0;
        for(int i=0;i<strlen(ch);i++)
        {
            if(ch[i]=='4'||ch[i]=='7')
                m=m*10+ch[i]-'0';
        }
        if(m==b)
        {
            cout<<i<<endl;
            return 0;
        }
    }
} 
复制代码

问题 K: Memory and Trident

给四个方向,上下左右,给一个字符串按照上面的字符走,可以修改,要求最后走到原地,问至少修改多少次

复制代码
#pragma GCC optimize(1)
#pragma GCC optimize(2)
#pragma GCC optimize(3,"Ofast","inline")
#include<iostream>
#include<algorithm> 
#include<cstring>
#include<cmath>
using namespace std;
int a[10];
int main(){
    string ch;
    cin>>ch;
    if(ch.size()%2==1)
    {
        cout<<"-1"<<endl;
        return 0;
    }
    else
    {
        for(int i=0;i<ch.size();i++)
        {
            if(ch[i]=='U')
                a[1]++;
            if(ch[i]=='D')
                a[1]--;
            if(ch[i]=='L')
                a[2]++;
            if(ch[i]=='R')
                a[2]--;
        }
    }
    //cout<<a[1]<<" "<<a[2]<<endl;
    if(a[1]+a[2]==0)
        cout<<abs(a[1])<<endl;
    else if((abs(a[1])+abs(a[2]))%2==1)
        cout<<"-1"<<endl;
    else 
        cout<<(abs(a[1])+abs(a[2]))/2<<endl;
    return 0;
}
复制代码

*********************剩下的题等补题

posted @   小志61314  阅读(30)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示