IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 数据结构与算法 -> Atcoder Beginner Contest 100 - 题解 -> 正文阅读

[数据结构与算法]Atcoder Beginner Contest 100 - 题解

A:

原题:Happy Birthday!

本题其实很水,只需要输入A,B这两个整数,如果A,B中有一个大于8,就输出“:(”,否则输出“Yay!”。

\color{green}talk\ is\ easy,show\ you\ the\ code.

#include<bits/stdc++.h>
using namespace std;
int A,B;
signed main()
{
	scanf("%d%d",&A,&B);
	if(A>8 || B>8)
	{
		printf(":(\n");
	}
	else
	{
		printf("Yay!\n");
	}
	return 0;
}

?B:

原题:?Ringo's Favorite Numbers

本题其实也不难,就是有坑。。。

如果\color{red}N=100,\color{red}N就要变成\color{red}101!!!

为什么呢?

如果有100这个因子,就不能正好被100整除D次了!!!

所以,如果N=100,就要看成101来计算!!!

剩下的答案就是N*10^{D}.

\color{red}talk\ is\ easy,show\ you\ the\ code.

#include<bits/stdc++.h>
using namespace std;
int ans;
signed main()
{
	int d,n;
	scanf("%d%d",&d,&n);
	if(d==0 && n<100)ans=n;
	if(d==0 && n==100)ans=n+1;
	if(d==1 && n<100)ans=n*100;
	if(d==1 && n==100)ans=(n+1)*100;
	if(d==2 && n<100)ans=n*10000;
	if(d==2 && n==100)ans=(n+1)*10000;
	printf("%d\n",ans);
	return 0;
}

C:

本题是这里最水的了。。。

现将每一个数分解质因数,取2的指数之和即可。

?\color{blue}talk\ is\ easy,show\ you\ the\ code.

#include<bits/stdc++.h>
using namespace std;
const int maxn=1e4+5;
const int maxa=1e9+5;
int n,a[maxn];
inline int lg(int x)
{
	if(x%2!=0)return 0;
	int ans=0;
	while(true)
	{
		if(x%2!=0)return ans;
		x/=2;
		ans++;
	}
}
int ans;
signed main()
{
	scanf("%d",&n);
	for(int i=1;i<=n;i++)
	{
		scanf("%d",&a[i]);
		ans+=lg(a[i]);
	}
	printf("%d\n",ans);
	return 0;
}

D:

原题:Patisserie ABC

写一个暴力+排序就行。

思路见代码(通俗易懂):

#include<bits/stdc++.h>
#define int long long
using namespace std;
const long long inf=0x3f3f3f3f3f3f3f3f;
const int maxn=1e3+5;
inline long long read()
{
	long long x=0,f=1;
	char c=getchar();
	while(!isdigit(c)){if(c=='-')f=-1;c=getchar();}
	while(isdigit(c)){x=x*10+c-48;c=getchar();}
	return x*f;
}
struct number
{
	long long a,b,c;	
}nm[maxn];
int cnt1,cnt2,cnt3;
bool cmp(number x,number y)
{
	return x.a*cnt1+x.b*cnt2+x.c*cnt3>y.a*cnt1+y.b*cnt2+y.c*cnt3;
}
signed main()
{
	long long n,m;
	n=read();
	m=read();
	for(long long i=1;i<=n;i++)
	{
		nm[i].a=read();
		nm[i].b=read();
		nm[i].c=read();
	}
	long long ans=-inf;
	for(cnt1=-1;cnt1<=1;cnt1=cnt1==-1?1:3)
	{
		for(cnt2=-1;cnt2<=1;cnt2=cnt2==-1?1:3)
		{
			for(cnt3=-1;cnt3<=1;cnt3=cnt3==-1?1:3)
			{
				if(cnt3==3)break;
				sort(nm+1,nm+1+n,cmp);
				int tot1=0,tot2=0,tot3=0;
				for(int i=1;i<=m;i++)
				{
					tot1+=nm[i].a;
					tot2+=nm[i].b;
					tot3+=nm[i].c;
				}
				ans=max(ans,(long long)cnt1*tot1+cnt2*tot2+cnt3*tot3);
			}
			if(cnt2==3)break;
		}
		if(cnt1==3)break;
	}
	printf("%lld\n",ans);
	return 0;
}

  数据结构与算法 最新文章
【力扣106】 从中序与后续遍历序列构造二叉
leetcode 322 零钱兑换
哈希的应用:海量数据处理
动态规划|最短Hamilton路径
华为机试_HJ41 称砝码【中等】【menset】【
【C与数据结构】——寒假提高每日练习Day1
基础算法——堆排序
2023王道数据结构线性表--单链表课后习题部
LeetCode 之 反转链表的一部分
【题解】lintcode必刷50题<有效的括号序列
上一篇文章      下一篇文章      查看所有文章
加:2021-07-31 16:53:22  更:2021-07-31 16:55:00 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/7 19:52:48-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码