AtCoder Beginner Contest 160 A ~ E
时间:2022-07-24
本文章向大家介绍AtCoder Beginner Contest 160 A ~ E,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
A 水题签到:
#include<bits/stdc++.h>
using namespace std;
int main(){
string s;
cin>>s;
if(s[2] == s[3] && s[4] == s[5]){
cout<<"Yes"<<endl;
}
else
cout<<"No"<<endl;
return 0;
}
B 水题
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int main(){
ll n;
cin>>n;
ll res = n / 500;
ll ans = n % 500 / 5;
cout<<res * 1000 + ans * 5<<endl;
return 0;
}
C 水题 题意:一开始没看懂题,就是围绕园的最北的那个点的距离,我一直看成了点都在池塘北面,在一条直线上!害
思路:直到题意以后就很容易做了,因为是一个园,所以走过所有的房子的话,肯定是在某俩个房子之间那个距离没有走,加上这个距离就是完整的园了,那么要求距离最小,就需要找出相邻房子之间的最大值,然后减去即可
py蒙佬的。思路差不多
#include <bits/stdc++.h>
#define maxn 200005
using namespace std;
int a[maxn];
int main(){
int n,k;
cin>>k>>n;
cin>>a[0];
int maxx=-1,sum=0;
for(int i=1;i<n;i++){
cin>>a[i];
sum+=abs(a[i]-a[i-1]);
maxx=max(maxx,a[i]-a[i-1]);
}
sum+=abs(abs(a[n-1]-k)+a[0]);
maxx=max(maxx,abs(abs(a[n-1]-k)+a[0]));
cout <<sum-maxx<<endl;
}
D. 题意:就是一个n个点的图,相邻的点之间有一条边,然后对应的特别的两个点之间也让有一条边,然后让你求就是多少对(i,j)之间的最短距离等于k(k>=1 && k<=n-1)
思路:我们可以看图
就是把所有点之间的距离都记录下来,没找到一个不同点之间的最短距离那么就那个数组的距离+1,然后最后输出就行了
#include<bits/stdc++.h>
using namespace std;
const int Max = 1e4 + 5;
int n, x, y, a[Max];
int main() {
cin>>n>>x>>y;
for (int i = 1; i <= n - 1; i++) {
for (int j = i + 1; j <= n; j++) {
int dis = j - i;
dis = min(dis, abs(i - x) + abs(j - y) + 1);
a[dis]++;
}
}
for (int i = 1; i <= n - 1; i++)
cout<<a[i]<<endl;
return 0;
}
E 题意:很简单就是无色苹果可变颜色,然后有红苹果跟绿苹果,每种颜色的苹果要求吃的个数有限,让你求能得到的最大的美味值。
思路:我们从红苹果中选取前x个最大的,在绿苹果中选取y个最大的,然后都压入数组或者队列,然后在把无色的苹果都压入数组,最后对这个数组进行排序,然后从中挑选出前x+y个最大的苹果就行了
#include <bits/stdc++.h>
using namespace std;
#define rep(i,n) for (int i = 0; i < (n); ++i)
#define F first
#define S second
using ll = long long;
using P = pair<int,int>;
int main() {
int x, y, a, b, c;
cin >> x >> y >> a >> b >> c;
vector<int> ps(a), qs(b), rs(c);
rep(i, a) cin >> ps[i];
rep(i, b) cin >> qs[i];
rep(i, c) cin >> rs[i];
sort(ps.rbegin(), ps.rend());
sort(qs.rbegin(), qs.rend());
vector<int> v;
rep(i, x) v.push_back(ps[i]);
rep(i, y) v.push_back(qs[i]);
rep(i, rs.size()) v.push_back(rs[i]);
sort(v.rbegin(), v.rend());
ll res = 0;
rep(i, x + y) res += v[i];
cout << res << endl;
return 0;
}
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 【Vue进阶】手把手教你在 Vue 中使用 JSX
- (译)SDL编程入门(1)Hello SDL
- Django使用Channels实现websocket
- (译)SDL编程入门(6)扩展库SDL_image
- 牛客网剑指offer-2
- 牛客网剑指offer-1
- (译)SDL编程入门(5)Surface 优化和软拉伸
- (译)SDL编程入门(4)按键操作
- webpack实战——生产环境配置【中】
- MongoDB权威指南学习笔记(1)--基础知识与对文档的增删改查
- 利用 Shell 脚本实现邮件监控 Linux 系统的内存
- MongoDB权威指南学习笔记(4)--应用管理和服务器管理
- MongoDB权威指南学习笔记(3)--复制和分片
- 工作10年后,再看String s = new String("xyz") 创建了几个对象?
- MongoDB权威指南学习笔记(2)--设计应用