QFNU-ACM 2019.5.23组队赛 2019山东省赛复现
A.Calandar
题意:一年12个月,一个月30天,5天一周,已知某天的年月日星期数,求所给年月日的星期数是多少
思路:直接进行计算,其实每个月每年都是等长度的就使得计算的时候忽略年月,可以直接进行日期的比较,因为每个月都有长度相等的六周
代码:


1 #include<bits/stdc++.h>
2 using namespace std;
3 string day[6]={"Friday","Monday","Tuesday","Wednesday","Thursday","Friday"};
4
5 int main(){
6 int t;
7 scanf("%d",&t);
8 while(t--){
9 long long int year1,month1,day1,year2,month2,day2;
10 string s1,s2;
11 cin>>year1>>month1>>day1>>s1;
12 scanf("%lld %lld %lld",&year2,&month2,&day2);
13 int num=0;
14 for(int i=0;i<5;i++){
15 if(s1==day[i]){
16 num=i;
17
18 break;
19 }
20 }
21 if(day1<=day2){
22 num=(num+(day2-day1)%5)%5;
23 }else{
24 num=(num+5-(day1-day2)%5)%5;
25 }
26 cout<<day[num]<<endl;
27 }
28 }
C.Wandering Robot
题意:机器人通过'U','D','L','R'进行移动,分别进行上下左右的移动,从坐标(0,0)开始,问在经过k次移动之后,所能达到的最大的距离,距离指|x1-x2|+|y1-y2|
当时想错的地方:1.进行距离最远的判定时,考虑左右的伸缩变换,比如说最后位置落在右上方,而且最远距离要高于最后位置,这样就肯定有向左或者向下的伸缩,计算如果没有这样的伸缩结果是什么,再加上伸缩了多少次,进行加减运算(((可是这样进行计算,在运动复杂的情况下,不一定是满足这样的情况,可能有复杂的圆周运动也 不是这样的,这样计算就会有误差,所以进行计算的时候应该进行计算n-1次最后的位置在哪,然后用最后一次的位置进行循环找到最后一次的位置最高在哪)))
代码:


1 #include<iostream>
2 #include<algorithm>
3 #include<cmath>
4 #include<cstring>
5 using namespace std;
6 const int maxx=2e6+2;
7 string c;
8 int main(){
9 int t;
10 scanf("%d",&t);
11 while(t--){
12 long long n,k;
13 cin>>n>>k>>c;
14 long long x = 0,y = 0;
15 long long int sum=0;
16 for(int i=0;i<c.length();i++){
17 if(c[i]=='R'){
18
19 x++;
20 }
21 if(c[i]=='L'){
22 x--;
23
24 }
25 if(c[i]=='U'){
26 y++;
27
28 }
29 if(c[i]=='D'){
30 y--;
31
32 }
33 if(sum<((abs(x)+abs(y))))
34 {
35 sum = abs(x)+abs(y);
36 }
37 }
38 x*=(k-1);
39 y*=(k-1);
40
41 for(int i = 0;i < c.length();i++)
42 {
43 if(c[i]=='R'){
44
45 x++;
46 }
47 if(c[i]=='L'){
48 x--;
49
50 }
51 if(c[i]=='U'){
52 y++;
53
54 }
55 if(c[i]=='D'){
56 y--;
57 }
58 if(sum<(abs(x)+abs(y)))
59 {
60 sum = abs(x)+abs(y);
61 }
62 }
63 printf("%lld\n",sum);
64
65 }
66 }
D.Game on a Graph
题意:有k个人分成了两组,n个点,m条边,每次一个人选择一条边进行消除,直到某个人使得一个点无法连接其他的边,也就是说使得没有边和这个点链接,这样的话这个人就是输了
当时想错的地方:1.其实当初想的时候就是考虑是不是图论的问题,后来觉得限制条件太多了(((其实本不该想这么多的,大家都是为了规避那种点,肯定会选择除了必须的几条线之外的线,只需要判断如果把多余的线选完了,那么下一个人是哪个组的就好了)))
代码:


1 #include<iostream>
2 #include<algorithm>
3 #include<cmath>
4 #include<cstring>
5 using namespace std;
6
7 int main(){
8 int t;
9 cin>>t;
10 string s;
11 int n,k,a,b,m;
12
13 while(t--)
14 {
15 cin>>k>>s>>n>>m;
16 int time = (m-n+1)%k;
17 for(int i = 0;i < m;i++)
18 {
19 cin>>a>>b;
20 }
21 if(s[time]=='1')
22 cout<<2<<endl;
23 else cout<<1<<endl;
24 }
25 }
总结:1.这次做题总是把问题给复杂化,要记得化繁为简,抽象出里面的内涵东西,其实这也很难,最好是保证好最初的状态,精神状态要在,就赢了一半了,剩下的就靠平时的多练习才行,还没看清题目,千万不要往难题的方向想,不然肯定会复杂化某个题,就会化简为繁了
QFNU-ACM 2019.5.23组队赛 2019山东省赛复现的更多相关文章
- Beta冲刺(2/7)——2019.5.23
所属课程 软件工程1916|W(福州大学) 作业要求 Beta冲刺(2/7)--2019.5.23 团队名称 待就业六人组 1.团队信息 团队名称:待就业六人组 团队描述:同舟共济扬帆起,乘风破浪万里 ...
- HDU 4041 Eliminate Witches! (模拟题 ACM ICPC 2011亚洲北京赛区网络赛)
HDU 4041 Eliminate Witches! (模拟题 ACM ICPC 2011 亚洲北京赛区网络赛题目) Eliminate Witches! Time Limit: 2000/1000 ...
- Triangle (第8届山东省赛的某题)
triangle(第8届山东省赛的某题) 传送门 题意:喵了个呜,这题意真是峰回路转啊.懒死了,不想描述. 做法:我们拿set或线段树维护exp的最小值,每次取出exp值最小的边,删除之.并更新这条边 ...
- 2013年山东省赛F题 Mountain Subsequences
2013年山东省赛F题 Mountain Subsequences先说n^2做法,从第1个,(假设当前是第i个)到第i-1个位置上哪些比第i位的小,那也就意味着a[i]可以接在它后面,f1[i]表示从 ...
- HEX SDUT 3896 17年山东省赛D题
HEX SDUT 3896 17年山东省赛D题这个题是从矩形的左下角走到右上角的方案数的变形题,看来我对以前做过的题理解还不是太深,或者是忘了.对于这种题目,直接分析它的性质就完事了.从(1,1)走到 ...
- 2018山东省赛sequence
2018山东省赛sequence因为必须要删除一个数,所以可以计算每个数删除的代价,从而选取代价最小的进行删除如果一个数大于它前面的所有数的最小值而小于次小值,删除最小值的代价就要+1:如果一个数本身 ...
- 2018 ACM 国际大学生程序设计竞赛上海大都会赛重现赛 F Color it
链接:https://www.nowcoder.com/acm/contest/163/F 来源:牛客网 2018 ACM 国际大学生程序设计竞赛上海大都会赛重现赛 F Color it 时间限制:C ...
- 2018 ACM 国际大学生程序设计竞赛上海大都会赛重现赛 F Color it (扫描线)
2018 ACM 国际大学生程序设计竞赛上海大都会赛重现赛 F Color it (扫描线) 链接:https://ac.nowcoder.com/acm/contest/163/F来源:牛客网 时间 ...
- 2018 ACM 国际大学生程序设计竞赛上海大都会赛重现赛 J Beautiful Numbers (数位DP)
2018 ACM 国际大学生程序设计竞赛上海大都会赛重现赛 J Beautiful Numbers (数位DP) 链接:https://ac.nowcoder.com/acm/contest/163/ ...
随机推荐
- 扩展欧几里得算法(EXGCD)学习笔记
0.前言 相信大家对于欧几里得算法都已经很熟悉了.再学习数论的过程中,我们会用到扩展欧几里得算法(exgcd),大家一定也了解过.这是本蒟蒻在学习扩展欧几里得算法过程中的思考与探索过程. 1.Bézo ...
- 攻防世界 reverse 进阶 15-Reversing-x64Elf-100
15.Reversing-x64Elf-100 这题非常简单, 1 signed __int64 __fastcall sub_4006FD(__int64 a1) 2 { 3 signed int ...
- JAVA面试-计算机网络-TCP三次握手
学习原因 这个是面试的一个常问热点,所以务必要掌握. 通俗示例 小红是人事部门的员工,现在正在招收IT人员,小明看到招聘信息和待遇,感觉很适合自己,所以准备和小红发消息了解具体情况.而简历在本故事中代 ...
- 一次 outline 去除经验(非继承属性,看着像继承)
情况描述: 目前维护的老项目是通过 easyui 生成的 html,嵌套结构非常多,当点击元素后,会有个边框???非常影响页面美观,这是啥迷惑点击交互??? 经验告诉我,这是 css 的 outlin ...
- 「HTML+CSS」--自定义加载动画【010】
前言 Hello!小伙伴! 首先非常感谢您阅读海轰的文章,倘若文中有错误的地方,欢迎您指出- 哈哈 自我介绍一下 昵称:海轰 标签:程序猿一只|C++选手|学生 简介:因C语言结识编程,随后转入计算机 ...
- [Fundamental of Power Electronics]-PART I-2.稳态变换器原理分析-2.5/2.6 多极点滤波器电压纹波估计及要点小结
2.5 含两极点低通滤波器变换器的输出电压纹波估计 在分析包含两极点低通滤波器的变换器如Cuk变换器及Buck变换器(图2.25)输出时,小纹波近似将会失效.对于这些变换器而言,无论输出滤波电容的值是 ...
- 深入了解springcloud gateway 的限流重试机制
前言 前面给大家介绍了Spring Cloud Gateway的入门教程,这篇给大家探讨下Spring Cloud Gateway的一些其他功能. Spring Cloud Gateway中的重试 我 ...
- Leedcode算法专题训练(贪心)
1. 分配饼干 455. 分发饼干 题目描述:每个孩子都有一个满足度 grid,每个饼干都有一个大小 size,只有饼干的大小大于等于一个孩子的满足度,该孩子才会获得满足.求解最多可以获得满足的孩子数 ...
- 【深度学习】PyTorch CUDA环境配置及安装
Pytorch版本介绍 torch:1.6 CUDA:10.2 cuDNN:8.1.0 安装 NVIDIA 显卡驱动程序 一般 电脑出厂/装完系统 会自动安装显卡驱动 如果有 可直接进行下一步 下载链 ...
- Java 在Excel中添加水印(单一水印、平铺水印)
在Excel中没有直接添加水印的功能,但依旧可以通过一定方式来实现类似水印效果.本文通过Java程序代码介绍具体实现方法.可添加单一水印效果,即水印是以单个文本字样来呈现:也可添加多个平铺水印效果,即 ...