课后作业-2025-10-26

**题目:**P1554 [USACO06DEC] 梦中的统计 Dream Counting B

网址: https://www.luogu.com.cn/problem/P1554

**思路:**我们从m到n枚举,对于这其中的每一个数我们都统计一下0-9这10个数出现的次数。

**知识点:**简单模拟。

代码:

cpp 复制代码
#include<bits/stdc++.h>
using namespace std;
const int maxn=2e5+100;
int a[10];
void cal(int x)
{
	while(x)
	{
		int t=x%10;
		a[t]++;
		x/=10;
	}
}
int main(){

    int m,n;
    cin>>m>>n;
    for(int i=m;i<=n;i++)
    {
    	cal(i);
	}
	for(int i=0;i<=9;i++)
	cout<<a[i]<<" ";
    return 0;
}

**题目:**P1200 [USACO1.1] 你的飞碟在这儿 Your Ride Is Here

网址: https://www.luogu.com.cn/problem/P1200

**思路:**我们先输入两个字符串,然后计算一下每个字符串代表的数,最后对47取模。

**知识点:**简单模拟。

代码:

cpp 复制代码
#include<bits/stdc++.h>
using namespace std;
const int maxn=2e5+100;

int main(){

    string s1,s2;
	cin>>s1>>s2;
	int v1=1,v2=1;
	for(auto it:s1)
	{
	  v1=v1*(it-'A'+1);	
	} 
	v1%=47;
	for(auto it:s2)
	{
		v2=v2*(it-'A'+1);
	}
	v2%=47;
//	cout<<"v1: "<<v1<<" "<<"v2: "<<v2<<'\n';
	if(v1==v2)
	cout<<"GO";
	else cout<<"STAY";
    return 0;
}

**题目:**P1161 开灯

网址: https://www.luogu.com.cn/problem/P1161

**思路:**对于n次操作,我们每次都用一个for循环去模拟一下。

**知识点:**简单模拟。

代码:

cpp 复制代码
#include<bits/stdc++.h>
using namespace std;
const int maxn=2e5+100;

int b[2000009];
int main(){

    int n;
    cin>>n;
    while(n--)
    {
    	double a;
    	int t;
    	cin>>a>>t;
    	for(int i=1;i<=t;i++)
    	{
    		int pos=i*a;
    		b[pos]=1-b[pos];
		}
	}
	for(int i=1;i<=2000009;i++)
	{
		if(b[i]==1)
		{
			cout<<i;
			break;
		}
	}
    return 0;
}

**题目:**P1534 不高兴的津津(升级版

网址: https://www.luogu.com.cn/problem/P1534

**思路:**今天的不高兴程度=昨天不高兴程度+今天上课总时间减去 8 。

**知识点:**简单模拟。

代码:

cpp 复制代码
#include<bits/stdc++.h>
using namespace std;
const int maxn=2e5+100;


int main(){

    int n;
    cin>>n;
    int last=0,ans=0;
    for(int i=1;i<=n;i++)
    {
    	int x,y;
    	cin>>x>>y;
    	int now=last+(x+y-8);
    	ans+=now;
    	last=now;
	}
	cout<<ans;
    return 0;
}

**题目:**P2006 赵神牛的游戏

网址: https://www.luogu.com.cn/problem/P2006

**思路:**对于这m个技能,我们先判断一下a是否等于0,因为0不能等于除数。如果a等于0且b不等于0,那么一定可以杀死boss;如果a等于0且b也等于0,那么一定不能杀死boss。否则我们先算出来技能能够释放的次数cnt,再使用次数乘以伤害,就能得到mx,如果mx大于等于n,就可以杀死boss,否则不能。

**知识点:**简单模拟。

代码:

cpp 复制代码
#include<bits/stdc++.h>
using namespace std;
const int maxn=2e5+100;

int main(){

    long long k,m,n;
    cin>>k>>m>>n;
    vector<int>vt;
    for(int i=1;i<=m;i++)
    {
    	long long a,b;
    	cin>>a>>b;
    	if(a==0)
    	{
    		if(b!=0)
    		vt.emplace_back(i);
    		continue;
		}
    	long long cnt=k/a;
    	long long mx=cnt*b;
    	if(mx>=n)
    	{
    		vt.emplace_back(i);
		}
	}
	if(vt.size()==0)
	cout<<-1<<'\n';
	else{
		for(auto it:vt)
		cout<<it<<" ";
	}
    return 0;
}
相关推荐
Tisfy5 分钟前
LeetCode 0085.最大矩形:单调栈
算法·leetcode·题解·单调栈
oioihoii5 分钟前
Protocol Buffers 编码原理深度解析
c++
消失的旧时光-19435 分钟前
函数指针 + 结构体 = C 语言的“对象模型”?——从 C 到 C++ / Java 的本质统一
linux·c语言·开发语言·c++·c
mit6.8246 分钟前
出入度|bfs|状压dp
算法
hweiyu007 分钟前
强连通分量算法:Kosaraju算法
算法·深度优先
源代码•宸7 分钟前
Golang语法进阶(定时器)
开发语言·经验分享·后端·算法·golang·timer·ticker
郝学胜-神的一滴9 分钟前
Linux系统编程:深入理解读写锁的原理与应用
linux·服务器·开发语言·c++·程序人生
Larry_Yanan10 分钟前
Qt多进程(十一)Linux下socket通信
linux·开发语言·c++·qt
mit6.82414 分钟前
逆向思维|memo
算法
机器学习之心15 分钟前
MATLAB灰狼优化算法(GWO)改进物理信息神经网络(PINN)光伏功率预测
神经网络·算法·matlab·物理信息神经网络