欢乐赛#54题解🎈🎈🎈🎈🎈🎈
2025-09-02 21:00:50
发布于:上海
欢乐赛全题解来啦!绝对AC绝对过
保姆级教程,绝对能懂
看完点个赞再走吧,作者肝了2个小时
#T1
代码及思路如下:
#include<bits/stdc++.h>
using namespace std;
int x;
int main(){
    cin>>x;
    cout<<ceil(50*1.0*x/30);//50天的作业每天x小时,一共50*x小时,这些作业量要在30天内完成
    return 0;//向上取整
    //↑瑞腾林
}
#T2
代码及思路如下:
#include<bits/stdc++.h>
using namespace std;
int a[100];//这里我选择数组存储4张牌(有点诡异了
int main(){
    for(int i=1;i<=4;i++){//输入会吧
        cin>>a[i];
    }
    int sum=0;//总数变量会吧
    for(int i=1;i<=4;i++){
        if(a[i]>=3 && a[i]<=13){//点数3到13的牌得加他的点数
            sum+=a[i];//←像这样
        }else if(a[i]==1){
            sum+=15;//A:加十五
        }else if(a[i]==2){
            sum+=16;//2:加16
        }else if(a[i]==14){
            sum+=20;//小王:加20
        }else if(a[i]==15){
            sum+=25;//大王:加25
        }
    }
    if(a[1]==a[2] && a[2]==a[3] && a[3]==a[4]){//如果四张牌相同
        cout<<sum*5;//五倍
    }else if(a[3]==14&&a[4]==15){//题目里说四张牌是非降序输入的,只要判断最后两张牌是不是王炸
        cout<<sum+160;//加160
    }else{
        cout<<sum;//如果两种情况都不是那就直接输出总和即可
    }
    return 0;//瑞腾林
}
#T3
代码及思路如下:
#include<bits/stdc++.h>
using namespace std;
int n;
double stx,sty;
double mx;//最大伤害
int main(){
    cin>>n>>stx>>sty;//输入改装件数量,起始套装参数(注意是由起始套装、改装件组成)(本人被坑
	while(n--){
		double a,b;
        cin>>a>>b;//输入套装
		double x=stx+a,y=sty+b;//都得double
		if(x>100){//如果暴击率大于100
            y+=3*(x-100);//暴击伤害加成加上暴击率超出的部分乘上300%(即三倍)
            x=100;//暴击率只剩100(相当于限制暴击率?
        }
		double bang=10000*(x/100)*(1+y/100)+10000*(1-x/100);//照着题目写就行
		mx=max(mx,bang);//最大
	}
	cout<<mx;输出
	return 0;//瑞腾林
}
#T4
代码及思路如下:
#include<bits/stdc++.h>
using namespace std;
struct node{
string name;//名字
int sum;//打卡次数
};
string s;
vector<node>q;//向量
int main(){
    while(cin>>s){//输入
        int flag=0;//标志变量
        for(int i=0;i<q.size();i++){遍历
            if(q[i].name==s){查找名字已存在
                q[i].sum++;加一次
                flag=1;存在
            }
        }
        if(flag==0){//要是不存在就让他存在
            q.push_back({s,1});//推进去
        }
    }
    for(int i=0;i<q.size();i++){//遍历输出,这样的存储结构就恰巧符合输出要求
        ifq[i].name!="0")cout<<q[i].name<<" "<<q[i].sum<<endl;//排除掉最后的'0'即可
    }
    return 0;//瑞腾林
}
#T5
代码及思路如下:
#include<bits/stdc++.h>
using namespace std;
int n,m;
int a[110][110];//队列输入
int b[110];中转数组
int f[110][110];//最后结果
int main(){
    cin>>n>>m;
    for(int i=1;i<=n;i++){
        for(int j=1;j<=m;j++){
            cin>>a[i][j];//输入
        }
    }
    for(int i=1;i<=m;i++){
        memset(b,0,sizeof(b));
        for(int j=1;j<=n;j++){
            b[j]=a[j][i];存下当前这个班
        }
        sort(b+1,b+1+n);//sort排序!!!!!!!哈哈
        int sum=0;//一共有几个零呢?
        for(int j=1;j<=n;j++){
            if(b[j]==0){
                sum++;//有这些零
            }
        }
        for(int j=1;j<=n-sum;j++){//越过零,存到数组里
            f[j][i]=b[j+sum];
        }
    }
    for(int i=1;i<=n;i++){
        for(int j=1;j<=m;j++){
            if(f[i][j]==0)cout<<"   "<<0;//零要空3格输出,不然不符合题意
            else cout<<" "<<f[i][j];//有数据的空1格输出
        }
        cout<<endl;//(保姆)换行   ~
    }
    return 0;//瑞腾林
}
#T6
代码及思路如下:
#include<bits/stdc++.h>
using namespace std;
string s;
long long mn=1e18;
int main(){
    cin>>s;
    for(int j=0;j<s.size();j++){
        if(s[j]=='1'){//他是1就得试一下
            s[j]='0';//假设把他变为零
            long long sum=1;//求乘积
            long long now=0;//综合
            for(int i=0;i<s.size();i++){
                if(s[i]=='0'){
                    now++;//有多少位0
                }
                if(s[i+1]=='1' || i==s.size()-1){//判断下一个是否为1或者是字符串最后一位
                    if(now!=0){//之前是零(这样就可以确认哩
                        sum=sum*now;//成绩
                        now=0;//重置
                    }
                }
            }
            mn=min(mn,sum);//最小
            s[j]='1';//变回去
        }
    }
    cout<<mn;
    return 0;//瑞腾林
}
全部评论 49
d
2025-09-02 来自 上海
0d
2025-08-31 来自 上海
02025-08-31 来自 上海
0蟹蟹
2025-08-31 来自 上海
0
d
2025-08-29 来自 上海
0d
2025-08-29 来自 上海
0d
2025-08-29 来自 上海
0ddd
2025-08-29 来自 上海
0ddd
2025-08-29 来自 上海
0ddd
2025-08-29 来自 上海
0ddd
2025-08-28 来自 上海
0ddd
2025-08-28 来自 上海
0ddd
2025-08-28 来自 上海
0ddd
2025-08-28 来自 上海
0ddd
2025-08-28 来自 上海
0ddd
2025-08-28 来自 上海
0ddd
2025-08-27 来自 上海
0帖子被置顶了太好了谢谢ac君
2025-08-27 来自 上海
0d
2025-08-27 来自 上海
0ddd
2025-08-26 来自 上海
0
























有帮助,赞一个