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 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> AtCoder Beginner Contest 251 打比赛总结 -> 正文阅读

[C++知识库]AtCoder Beginner Contest 251 打比赛总结

上周六打了ABC(全球排名:2817;全国排名:535)。

结果:A,B,C题?AC(600分),用时26分钟。D题WA,赛后好久才知道为啥

目录

网址

A题

题目描述

题目分析

题目代码

B题

题目描述

题目分析?

题目代码

C题

题目描述?

题目分析

题目代码

D题

题目描述

题目分析?

我的Atcoder账号

版权声明


网址

Panasonic Programming Contest 2022(AtCoder Beginner Contest 251) - AtCoderAtCoder is a programming contest site for anyone from beginners to experts. We hold weekly programming contests online.https://atcoder.jp/contests/abc251

A题

A - Six CharactersAtCoder is a programming contest site for anyone from beginners to experts. We hold weekly programming contests online.https://atcoder.jp/contests/abc251/tasks/abc251_a

题目描述

题目分析

题目大意:您将获得一个由小写英文字符组成的字符串S。S的长度介于1和3之间(包括1和3)。打印长度为6的字符串,该字符串为重复打印S。可以证明,在这个问题的约束下,这样的字符串是唯一存在的。

题目思路:分三种情况输出。

题目代码

AC代码(好water)

#include<bits/stdc++.h>
using namespace std;
#define AC return 0;
int main(){
	cin.tie(0);
	ios::sync_with_stdio(0);
	string s; cin>>s;
	if(s.size()==1) cout<<s<<s<<s<<s<<s<<s;
	else if(s.size()==2) cout<<s<<s<<s;
	else cout<<s<<s;
    AC
}
//ACplease!!!


/*  printf("                                                                \n");
	printf("                                                                \n");
	printf("       * * *               * * *             * * *             * * *            \n");
	printf("     *       *           *       *         *      *          *       *         \n");
	printf("    *        *          *         *       *        *        *         *        \n");
	printf("            *           *         *                *                  *      \n");
	printf("           *            *         *               *                  *     \n");
	printf("          *             *         *              *                  *       \n");
	printf("         *              *         *             *                  *            \n");
	printf("        *               *         *           *                  *            \n");
	printf("      *                  *       *          *                  *           \n");
	printf("    * * * * * * *          * * *          * * * * * * *      * * * * * * *                           \n");
*/    

B题

B - At Most 3 (Judge ver.)AtCoder is a programming contest site for anyone from beginners to experts. We hold weekly programming contests online.https://atcoder.jp/contests/abc251/tasks/abc251_b

题目描述

题目分析?

题目大意:有N个重量称为重量1,重量2,…,重量N。重量i的质量为ai。

如果满足以下条件,则可以说正整数n是一个好整数:

我们最多可以选择3种不同的重量,使它们的总质量为n。

有多少小于或等于W的正整数是好整数?

题目思路:分三种情况(选一个,选两个,选三个)。记得set(博主超爱用)。

题目代码

AC代码:

#include<bits/stdc++.h>
using namespace std;
#define AC return 0;
int main(){
	cin.tie(0);
	ios::sync_with_stdio(0);
	int n,w; cin>>n>>w;
	int a[310];
	set<int>se;
	for(int i=0;i<n;i++) cin>>a[i];
	for(int i=0;i<n;i++) if(a[i]<=w) se.insert(a[i]);
	for(int i=0;i<n;i++){
		for(int j=i+1;j<n;j++){
			if(a[i]+a[j]<=w) se.insert(a[i]+a[j]);
		}
	}
	for(int i=0;i<n;i++){
		for(int j=i+1;j<n;j++){
			for(int k=j+1;k<n;k++){
				if(a[i]+a[j]+a[k]<=w) se.insert(a[i]+a[j]+a[k]);
			}
		}
	}
	cout<<se.size();
    AC
}
//ACplease!!!


/*  printf("                                                                \n");
	printf("                                                                \n");
	printf("       * * *               * * *             * * *             * * *            \n");
	printf("     *       *           *       *         *      *          *       *         \n");
	printf("    *        *          *         *       *        *        *         *        \n");
	printf("            *           *         *                *                  *      \n");
	printf("           *            *         *               *                  *     \n");
	printf("          *             *         *              *                  *       \n");
	printf("         *              *         *             *                  *            \n");
	printf("        *               *         *           *                  *            \n");
	printf("      *                  *       *          *                  *           \n");
	printf("    * * * * * * *          * * *          * * * * * * *      * * * * * * *                           \n");
*/    

C题

C - Poem Online JudgeAtCoder is a programming contest site for anyone from beginners to experts. We hold weekly programming contests online.https://atcoder.jp/contests/abc251/tasks/abc251_c

题目描述?

题目分析

题目大意:

诗歌在线评委(POJ)是一个在线评委,为提交的字符串打分。

有N份提交给POJ。在第i次最早的提交中,提交了字符串Si,并给出了Ti分数。(同一字符串可能已提交多次。)

请注意,POJ不一定会对具有相同字符串的提交内容给出相同的分数。

如果提交中的字符串从未在任何早期提交中提交,则该提交称为原始提交。

如果提交的是得分最高的原始提交,则称其为最佳提交。如果有多份此类提交,则只有最早的一份被视为最佳提交。

查找最佳提交的索引。

题目思路:还是set去重,再去打擂台取最大值。

题目代码

AC代码:

#include<bits/stdc++.h>
using namespace std;
#define AC return 0;
int main(){
	cin.tie(0);
	ios::sync_with_stdio(0);
	int n; cin>>n;
	pair<int,string>p[100010];
	set<string>se;
	for(int i=0;i<n;i++){
		cin>>p[i].second;
		cin>>p[i].first;
		if(se.count(p[i].second)==1) p[i].first=-1;
		se.insert(p[i].second);
	}
	int ans=1;
    for(int i=1;i<n;i++){
    	if(p[i].first>p[ans-1].first) ans=i+1;
	}
	cout<<ans;
    AC
}
//ACplease!!!


/*  printf("                                                                \n");
	printf("                                                                \n");
	printf("       * * *               * * *             * * *             * * *            \n");
	printf("     *       *           *       *         *      *          *       *         \n");
	printf("    *        *          *         *       *        *        *         *        \n");
	printf("            *           *         *                *                  *      \n");
	printf("           *            *         *               *                  *     \n");
	printf("          *             *         *              *                  *       \n");
	printf("         *              *         *             *                  *            \n");
	printf("        *               *         *           *                  *            \n");
	printf("      *                  *       *          *                  *           \n");
	printf("    * * * * * * *          * * *          * * * * * * *      * * * * * * *                           \n");
*/    

D题

D - At Most 3 (Contestant ver.)AtCoder is a programming contest site for anyone from beginners to experts. We hold weekly programming contests online.https://atcoder.jp/contests/abc251/tasks/abc251_d

题目描述

题目分析?

题目大意:

给你一个整数W。

你要准备一些砝码,以便满足以下所有条件。

数量介于1和300之间(包括1和300)。

每个砝码有一个不超过10^6的正整数质量。

1和W之间的每个整数(包括1和W)都是一个好整数。这里,如果满足以下条件,则称正整数n为好整数:

我们最多可以从总质量为n的准备好的砝码中选择3种不同的砝码

打印满足条件的权重组合(答案不唯一)。

题目思路:

让我觉得自己是傻子。

赛时:不管w是多少,永远按二进制输出,30个就够。

WA原因:题目规定——我们最多可以从总质量为n的准备好的砝码中选择3种不同的砝码。

赛后:不管w是多少,永远按十进制输出,300个左右就够。

赛时WA代码:

#include<bits/stdc++.h>
using namespace std;
int main(){
	cin.tie(0);
	ios::sync_with_stdio(0);
	int p=1; int w; cin>>w;
	cout<<30<<endl<<1<<" ";
	for(int i=1;i<30;i++){
		p*=2;
		cout<<p<<" ";
	}
    return 0;
}
//ACplease!!!


/*  printf("                                                                \n");
	printf("                                                                \n");
	printf("       * * *               * * *             * * *             * * *            \n");
	printf("     *       *           *       *         *      *          *       *         \n");
	printf("    *        *          *         *       *        *        *         *        \n");
	printf("            *           *         *                *                  *      \n");
	printf("           *            *         *               *                  *     \n");
	printf("          *             *         *              *                  *       \n");
	printf("         *              *         *             *                  *            \n");
	printf("        *               *         *           *                  *            \n");
	printf("      *                  *       *          *                  *           \n");
	printf("    * * * * * * *          * * *          * * * * * * *      * * * * * * *                           \n");
*/    

赛后AC代码:

#include<bits/stdc++.h>
using namespace std;
int main(){
	int w; cin>>w;
	cout<<300<<endl;
	for(int i=1;i<=100;i++) cout<<i<<" "<<i*100<<" "<<i*10000<<" ";
	return 0;
}
//ACplease!!!


/*  printf("                                                                \n");
	printf("                                                                \n");
	printf("       * * *               * * *             * * *             * * *            \n");
	printf("     *       *           *       *         *      *          *       *         \n");
	printf("    *        *          *         *       *        *        *         *        \n");
	printf("            *           *         *                *                  *      \n");
	printf("           *            *         *               *                  *     \n");
	printf("          *             *         *              *                  *       \n");
	printf("         *              *         *             *                  *            \n");
	printf("        *               *         *           *                  *            \n");
	printf("      *                  *       *          *                  *           \n");
	printf("    * * * * * * *          * * *          * * * * * * *      * * * * * * *                           \n");
*/    

我的Atcoder账号

joe_zxq - AtCoderAtCoder is a programming contest site for anyone from beginners to experts. We hold weekly programming contests online.https://atcoder.jp/users/joe_zxq


版权声明

————————————————
版权声明:本文为CSDN博主「joe_zxq21」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明, ?不欢迎 ? 欢迎大家的转载和关注。
?

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2022-05-26 15:13:27  更:2022-05-26 15:14:12 
 
开发: 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/13 15:15:19-

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