9月12日模拟赛总结

本次模拟赛中,作者分享了他们在比赛中遇到的五道题目,涉及最大质因子、成绩模拟、灭火迷宫、象棋马路径等问题。通过BFS和贪心策略解决大部分题目,但在存储器问题上遇到困难,未能得分。尽管有不错的表现,但作者对第二题的评分感到不满。
摘要由CSDN通过智能技术生成


突然心血来潮,想写一个博客来记录这一次比赛。

但其实也不是我想写的,因为这次比赛搜索题目比较多,而搜索又是我这个S组菜鸡骗分的强项所以就好了

T1 蜗牛老师的最大质因子(100pts)

题目链接
分析:水水的签到题,不过我被这道题稍微卡了一下,因为我忘了怎么判断用质因数来找原来那个数,想用map但是忘了迭代器怎么拼。。
恰好!想到了结构体,可以用一个数组一个元素一个元素对应的排序写法,于是用结构体打了一遍,然后果不其然AC了
应该在座的各位没有像我一样的吧??

#include<bits/stdc++.h>
using namespace std;
struct zdw{
   
	long long num;
	long long zhiyinshu;
}a[100001];
long long i=2,maxx=-999999;
long long b;
bool mycmp(zdw a,zdw b){
   
	return a.zhiyinshu<b.zhiyinshu;
}
long long judge(long long m){
   
	i=2;
	while(i<m){
   
		if(m%i==0){
   
			//cout<<i<<"*";
			m/=i;
		}
		else{
   
			i++;
		}
	}
	return m;//每个正整数的最大质因数 
}
int main(){
   
	freopen("bigfact.in","r",stdin);
	freopen("bigfact.out","w",stdout);
	long long n;
	cin>>n;
	for(int i=1;i<=n;i++){
   
		cin>>a[i].num;
		if(maxx<judge(a[i].num)){
   
			maxx=judge(a[i].num);
			a[i].zhiyinshu=maxx;
		}
	}
	sort(a+1,a+n+1,mycmp);
	cout<<a[n].num<<endl;
	return 0;
}

T2 小蜗牛的成绩(85pts)

题目链接
分析:一道不怎么难的模拟。85分做法我顺利的写出来了。但是我好像改不出来100分的做法,如果有人能打出来的话,TELL ME。我会膜拜你的。

其实这个题我歪打正着的漏看了一句话,恰好本来这个题目就是这个意思!看来有些时候还是运气比较好吧。。。

说一下我的思路吧,其实涉及到的是字符串操作+贪心的思想。如果0.x,其中x大于5,那么肯定是要进一位的。后面的是从前往后扫一遍,也要这么处理。然后我们要把小数点+小数点后面的所有数清空。包括最后的后缀0也是要这么处理的。我们怎么处理字符串的运算呢?就可以先-'0’给换成int类型,运算好了再+'0’再存进去。

这样写代码会非常难看。但是,I like.之前听老刘讲过一种可以强制转换把字符串变成int的方法,不过我忘了,有空再补上吧。

My code(85pts)

#include<bits/stdc++.h>
using namespace std;
string s,s1;
int main(){
   
	freopen("grade.in","r",stdin);
	freopen("grade.out","w",stdout);
	long long n,m;
	cin>>n>>m;
	cin>>s;
	for(int i=1;i<=n;i++){
   
		if(m==0) break; //如果m不能再递减了,直接break。 
		if(s[i]=='.'){
   //找到小数点
		 
			if(s[i+1]-'0'>=5&&s[i+1]-'0'<=9){
   
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值