520 钻石争霸赛 题解

说好的钻石难度,结果本人菜的一地。。只有88分。。。。

文章目录

    • 7-1 考试周
    • 7-2 真的恭喜你
    • 7-3 平均成绩
    • 7-4 古风A+B
    • 难度开始上升
    • 7-5 猜近似数字
    • 7-6 随机输一次
    • 7-7 阶乘的非零尾数
    • 7-8 三足鼎立

在这里插入图片描述
前四题
十分钟AC
后两题二十分钟自闭
第五题玄学卡点不知为何

7-1 考试周

模拟即可,按照格式要求输出

#include<bits/stdc++.h>
using namespace std;
int main()
{double a,b,c;cin>>a>>b;c=a/b;printf("%.0lf/%.1f=%.0f",a,c,b);
} 

7-2 真的恭喜你

if比较输出

#include<bits/stdc++.h>
using namespace std;
int main()
{int n;cin>>n;if(n>=90)printf("gong xi ni kao le %d fen!",n);else printf("kao le %d fen bie xie qi!",n);
} 

7-3 平均成绩

1和0分别代表男女
男女成绩分别存,各自算出平均值,然后再求总平均值

#include<bits/stdc++.h>
using namespace std;double sum1;double sum2;double ans1;double ans2;
int main()
{double n;double a,b;cin>>n;for(int i=1;i<=n;i++){cin>>a>>b;if(a==1){sum1++;ans1+=b;} else {sum2++;ans2+=b;}}if(sum1==0){printf("%.1lf X %.1lf",(ans1+ans2)/n,ans2/sum2);}else if(sum2==0){printf("%.1lf %.1lf X",(ans1+ans2)/n,ans1/sum1);}else {printf("%.1lf %.1lf %.1lf",(ans1+ans2)/n,ans1/sum1,ans2/sum2);} 
} 

7-4 古风A+B

特判正负,因为“-”符号要特别一行,然后拆成单个存入数组,再从数组输出

#include<bits/stdc++.h>
using namespace std;double sum1;double sum2;double ans1;double ans2;
int w[100];
int main()
{long long a,b,c;cin>>a>>b;c=a+b;int ans=0;if(c<0){cout<<"-"<<endl; c=c*-1;}if(c==0){cout<<"0";return 0;}while(c){w[++ans]=c%10;c/=10;}for(int i=ans;i>=1;i--){cout<<w[i]<<endl; }
} 

难度开始上升

7-5 猜近似数字

注意两个数如果长度不一样直接就算错,输出“No”,
相同情况下,从最高位开始求差的绝对值,如果该位差的绝对值大于1,就算错,则输出“No”
如果有一位差的绝对值是1,则后面再出现绝对值1的情况,也算输,
也就是所有位上最多只能有一位的差绝对值是1,数量不能多,差的决定值不能大于1
但是这个题我错了一个点也不知道为什么?可能哪里我忽视了
我的代码如下(包含错误)

#include<bits/stdc++.h>
using namespace std;
double b=0,g=0;
double sum;
int sumb,sumg;
int main()
{string a,b;int c[1004];cin>>a;char ch=getchar();while(cin>>b&&b!="-1"){//	cout<<"--"<<" "<<b<<endl;memset(c,0,sizeof(c));ch=getchar();if(a.length()!=b.length())cout<<"No"<<endl;else {//			cout<<"***"<<" "<<b<<endl;for(int i=0;i<a.length();i++){//			printf("b[a]-a[]=%d\n ",abs(a[i]-b[i]) ); if(a[i]<b[i])	c[i]=b[i]-a[i];else c[i]=a[i]-b[i];//			cout<<" c[i]="<<c[i]<<endl;}bool f=0;for(int i=0;i<=a.length();i++){//		cout<<"i="<<i<<endl; if(c[i]>1){cout<<"No"<<endl;f=0;break;}else if(c[i]==1&&f==0){f=1;}else if(c[i]==1&&f==1){cout<<"No"<<endl;f=0;break;}}if(f==1)cout<<"Yes"<<endl;}}}

正确代码:(学校的大佬)

#include<bits/stdc++.h>using namespace std; string a,b; int n; bool boolean(){int l=a.size();bool f=0; for(int i=0;i<l;i++){ if(abs(a[i]-b[i])==0){ continue; }
else if(abs(a[i]-b[i])==1&&f==0){ f=1; }else return 0; }return 1; }int main(){ cin>>a; while(1){ cin>>b; if(b=="-1") break; if(b.size()!=a.size()){ printf("No\n"); continue; }if(boolean()) printf("Yes\n"); else printf("No\n"); }return 0; }

7-6 随机输一次

尖子石头步的拼音第一位都不一样,所以光比第一位就可以
注意k中是每个多少局输一次,而非是第多少局输一次

**#include<bits/stdc++.h>
using namespace std;
int k[10006];
int main()
{int n;cin>>n;for(int i=1;i<=n;i++)cin>>k[i];char ch;ch=getchar();char s[13];int ans=1;int sum=0;bool f=0; while(~scanf("%s",s)){sum++;if(ans>n)ans%=n;if(k[ans]+1==sum){f=1;ans++;sum=0;//	cout<<"-----"<<endl;}else f=0;if(s[0]=='E')break;if(s[0]=='C'){if(f==1)cout<<"JianDao"<<endl;else cout<<"Bu"<<endl;}else if(s[0]=='J'){if(f==1)cout<<"Bu"<<endl;else cout<<"ChuiZi"<<endl;}else if(s[0]=='B'){if(f==1)cout<<"ChuiZi"<<endl;else cout<<"JianDao"<<endl;}ch=getchar();}return 0;
}**

以下两题代码均来自我学校的大佬学长

7-7 阶乘的非零尾数

之前见过一个求最后一个非零尾数
数论问题,首先考虑末尾产生0的情况,只有当相乘的数的因子中出现2和5时会出现0,也就是0的数量取决于出现多少对2和5。
2和5都有时就出现一个0,所以求min(5,2)
因为在阶乘中5的数量是少于2的,所以只需要讨论因子中有多少个5就行,对于求后k位非零数,因为对于一个整数的后k位很简单,都会求,所以只需要在计算阶乘的过程中将对应数量的
2和5除去即可
比如求5!=12345=120的后两位非零数,就是在计算时将2和5去除计算341,然后mod 100即可

#include<bits/stdc++.h>using namespace std;
typedef long long ll; 
int num1,num2; 
int n,k; 
int main(){ cin>>n>>k; int n1=n;while(n1){num1+=n1/5; //计算n1中因数5的个数 n1=n1/5; //}int num=num1;num2=num1;ll mod=pow(10,k);//求非零k位数 ll sum=1;for(int i=1;i<=n;i++){ int w=i;while(w%2==0&&num1){w/=2;num1--; }while(w%5==0&&num2){ w/=5;num2--; }sum=(sum%mod*w%mod)%mod; }string c="%0"; c=c+(char)(k+'0')+"lld"; printf(c.data(),sum); printf(" %d",num);return 0; 
}

7-8 三足鼎立

之前做过一个类似的,是求能组成多少个三角形
暴力,肯定是不对滴,超时嘛
因为是构成三角形,也就是任何两边之差一定小于第三边
其中一个边已经给了

我们可以先排序,这样具备单调性,
枚举一个边,然后通过二分来确定第三个边的范围,在这范围内的是符合单个条件,然后反过来操作(确定第三个边,然后二分第二个边),重复部分就符合全部要求
所以最后结果除以二

#include<bits/stdc++.h>using namespace std;
typedef long long ll; 
int num1,num2; 
int n,k;
const int maxn=1e6+4;
int a[maxn]; 
int main(){ int n,p;cin>>n>>p;for(int i=0;i<n;i++)cin>>a[i];sort(a,a+n);ll sum=0;for(int i=0;i<n;i++){int high=lower_bound(a,a+n,a[i]+p)-a;int low=upper_bound(a,a+n.abs(a[i]-p))-a;int num=high-low;if(i>=low&&i<=high){num--;sum++num;}}cout<<sum/2<<endl;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/320093.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

.NET Core 跨平台物联网框架 ServerSuperIO.Core,一套设备驱动通吃嵌入式、上位机、云服务...

一、概述我们的大数据平台&#xff08;云&#xff09;平台的数据接收服务基于ServerSuperIO开发&#xff0c;因为集成的功能比较多&#xff0c;无法实现跨平台&#xff0c;现在跑在Windows下。但是云端体系化、标准化建设&#xff0c;跨平台是必走的技术路线。在ServerSuperIO基…

asp.net core添加全局异常处理及log4net、Nlog应用

一、介绍此篇文章将会介绍项目的全局异常收集以及采用log4net或者NLog记录。众所周知&#xff0c;一旦自己的项目报错&#xff0c;如果没有进行处理都是显示不友好的&#xff0c;有得甚至直接爆出错误页面&#xff0c;看的也是很奇怪。为了避免出现这样的错误以及在错误出现的时…

牛客网 【每日一题】5月20日题目 简单瞎搞题

比赛链接 文章目录题目描述题解&#xff1a;代码&#xff1a;题目描述 输入描述: 第一行一个数 n。 然后 n 行&#xff0c;每行两个数表示 li,ri。 输出描述: 输出一行一个数表示答案。 示例1 输入 5 1 2 2 3 3 4 4 5 5 6输出 26备注: 1 ≤ n , li , ri ≤ 100 题解&#xf…

ASP.NET Core 2.0利用MassTransit集成RabbitMQ

在ASP.NET Core上利用MassTransit来集成使用RabbitMQ真的很简单&#xff0c;代码也很简洁。近期因为项目需要&#xff0c;我便在这基础上再次进行了封装&#xff0c;抽成了公共方法&#xff0c;使得使用RabbitMQ的调用变得更方便简洁。那么&#xff0c;就让咱们来瞧瞧其魅力所在…

《通过C#学Proto.Actor模型》之 HelloWorld

在微服务中&#xff0c;数据最终一致性的一个解决方案是通过有状态的Actor模型来达到&#xff0c;那什么是Actor模型呢&#xff1f;Actor是并行的计算模型&#xff0c;包含状态&#xff0c;行为&#xff0c;并且包含一个邮箱&#xff0c;来异步处理消息。关于Actor的介绍可参考…

[XSY] 计数(DP,NTT,分治)

计数 考虑转化题目&#xff0c;变为网格上有若干个点&#xff0c;要从(0,0)(0,0)(0,0)走到(n,an1)(n,a_{n1})(n,an1​) &#xff0c;每一步只能往右走一步或往上走一步&#xff0c;且若当前在(i,j)(i,j)(i,j) &#xff0c;必须满足0≤j≤ai10\leq j\leq a_{i1}0≤j≤ai1​&…

.Net Core应用框架Util介绍(一)

距离上次发文&#xff0c;已经过去了三年半&#xff0c;这几年技术更新节奏异常迅猛&#xff0c;.Net进入了跨平台时代&#xff0c;前端也被革命性的颠覆。回顾2015年&#xff0c;正当我还沉迷于JQuery EasyUi的封装时&#xff0c;突然意识到技术已经过时。JQuery在面对更加复…

使用.NET Core+Docker 开发微服务

.NET Core发布很久了,因为近几年主要使用java&#xff0c;所以还没使用过.NET Core&#xff0c;今天正好有一个c#写的demo&#xff0c;需要做成服务&#xff0c;不想再转成java来实现&#xff0c;考虑使用.NET CORE来尝下鲜&#xff0c;目标是开发一个微服务&#xff0c;然后部…

Steeltoe之Config客户端篇

Steeltoe是一款开源项目&#xff0c;其目标是选取源自Netflix及其它公司的工具&#xff0c;使它们能够运用于.NET社区。它不仅可以在.NET Core上&#xff0c;也可以在.NET Framework 4.X以上使用。此外&#xff0c;大多数的组件能够同时运行在本地机器及Cloud Foundry(一个领先…

[XSY] 绿色(圆方树、树形DP、树上差分)

绿色 题意简述 题解 首先&#xff0c;每次修改完点权后&#xff0c;重新考虑一遍所有路径显然是不现实的&#xff0c;所以我们考虑求出经过每个点的两端同色的简单路径数&#xff0c;这样权值和容易统计和修改。 接下来分析仙人掌上的简单路径性质。一条简单路径上的边&…

牛客网 【每日一题】5月29日 管道取珠

链接&#xff1a; 文章目录题目描述题意&#xff1a;题解&#xff1a;代码&#xff1a;时间限制&#xff1a;C/C 2秒&#xff0c;其他语言4秒 空间限制&#xff1a;C/C 524288K&#xff0c;其他语言1048576K 64bit IO Format: %lld题目描述 管道取珠是小X很喜欢的一款游戏。在本…

半天搭建你的Jenkins持续集成与自动化部署系统

前言相信每一位程序员都经历过深夜加班上线的痛苦&#xff01;而作为一个加班上线如家常便饭的码农&#xff0c;更是深感其痛。由于我们所做的系统业务复杂&#xff0c;系统庞大&#xff0c;设计到多个系统之间的合作&#xff0c;而核心系统更是采用分布式系统架构&#xff0c;…

.Net业务搭配实用技术栈

前言昨天有篇文章在讨论webform的设计思路&#xff0c;我已经四五年不用webform了&#xff0c;虽然它也提供了HttpModule和httphandle来处理请求&#xff0c;提供了一般处理程序ashx来简化处理流程&#xff0c;但依然会想起它的form runatserver&#xff0c;想起注册客户端脚本…

Service Fabric 用 Powershell 部署应用到本地

前置说明安装 Service Fabric SDK&#xff0c;会在本机 C:\Program Files\Microsoft SDKs\Service Fabric\Tools\PSModule\ServiceFabricSDK 生成部署脚本&#xff0c;如下图&#xff1a;用VS创建一个 Service Fabric 应用后&#xff0c;有一个部署脚本&#xff0c;位置在 [应用…

ElasticSearch入门 附.Net Core例子

1.什么是ElasticSearch?Elasticsearch是基于Lucene的搜索引擎。它提供了一个分布式&#xff0c;支持多租户的全文搜索引擎&#xff0c;它具有HTTP Web界面和无模式JSON文档。 Elasticsearch是用Java开发的&#xff0c;根据Apache许可条款作为开源发布。----来自维基百科的解释…

《.NET 性能优化》送书活动结果公布

截止到9月7日18&#xff1a;00&#xff08;规则本是12&#xff1a;00&#xff0c;忙的忘记了这事&#xff0c;18点截的图&#xff09;&#xff0c;本次送书活动《.NET 性能优化》共收到100多位同学参与回复&#xff0c;本次很多同学在看到活动的书 &#xff0c;自行就到异步社区…

hdu-2844 Coins (混合背包+二进制优化)

HDU链接 文章目录题目描述&#xff1a;题意&#xff1a;题解&#xff08;代码&#xff09;题目描述&#xff1a; 输入描述: 输出描述: For each test case output the answer on a single line. 输入 3 10 1 2 4 2 1 1 2 5 1 4 2 1 0 0输出 8 4题意&#xff1a; 有n种硬币&…

.NET Core WebApi中实现多态数据绑定

什么是多态数据绑定&#xff1f;我们都知道在ASP.NET Core WebApi中数据绑定机制&#xff08;Data Binding&#xff09;负责绑定请求参数&#xff0c; 通常情况下大部分的数据绑定都能在默认的数据绑定器&#xff08;Binder&#xff09;中正常的进行&#xff0c;但是也会出现少…

hdu 1059 Dividing

Hdu链接 文章目录题目描述题意&#xff1a;题解&#xff1a;代码&#xff1a;题目描述 输入描述: 输出描述: 示例1 输入 1 0 1 2 0 0 1 0 0 0 1 1 0 0 0 0 0 0输出 Collection #1: Cant be divided.Collection #2: Can be divided.题意&#xff1a; 有价值分别是1~6的6种…

.Net Core应用框架Util介绍(二)

Util的开源地址https://github.com/dotnetcore/utilUtil的开源协议Util以MIT协议开源&#xff0c;这是目前最宽松的开源协议&#xff0c;你不仅可以用于商业项目&#xff0c;还能把Util的代码放进你的框架&#xff0c;放心使用。Util的命名Util这个名字看上去不怎么高大上&…