A. Masha and bears

题意

人的体积为\(V\),车的大小为\(size\),人能钻进车的条件是\(V\leq size\),人对车满意的条件是\(2V\geq size\).

现知道

  1. 熊爸爸能钻进最大的车并且满意
  2. 熊妈妈能钻进中等的车并且满意
  3. 熊宝宝能钻进最小的车并且满意
  4. Masha能钻进最小的车并且只对它满意

给定四人的体积(保证\(V1\gt V2\gt V3\)),要求给出三辆车的大小。

思路

考思维严谨性的题。// 还是有些怕的

假设三辆车大小分别为\(a,b,c\),则有

\[V1\leq a\leq 2V1 // 熊爸爸\\
V2\leq b\leq 2V2 // 熊妈妈\\
V3\leq c\leq 2V3 // 熊宝宝\\
V4\leq c\leq 2V4 // Masha\\
2V4\lt b //Masha只对最小的车满意
\]

要满足上述条件,只需将最大的车和中等的车都取到最大值,最小的车取交集(如果没有的话则为-1)中的最小的值,再判断最小的点是否满足最后一个条件即可,不满足则为-1。

Code

#include <bits/stdc++.h>
using namespace std;
typedef long long LL;
int main() {
int x1,x2,x3,x4;
scanf("%d%d%d%d", &x1,&x2,&x3,&x4);
int ans1 = 2*x1, ans2 = 2*x2, ans3;
if (x3 == x4) ans3 = x3;
else if (x3 > x4) {
if (x3 <= 2 * x4) ans3 = x3;
else ans3 = -1;
}
else {
if (x4 <= 2 * x3) ans3 = x4;
else ans3 = -1;
}
if (ans3==-1) puts("-1");
else {
if (2*x4<ans2) printf("%d\n%d\n%d\n", ans1,ans2,ans3);
else puts("-1");
}
return 0;
}

B. Tic-Tac-Toe

水水的模拟...随便做...

顺带吐槽一波题面的英语水平...看样例猜题意...

Code

#include <bits/stdc++.h>
using namespace std;
typedef long long LL;
char s[20][20], ss[20];
int main() {
for (int i = 1; i <= 3; ++i) gets(s[i]+1);
gets(ss);
for (int i = 4; i <= 6; ++i) gets(s[i]+1);
gets(ss);
for (int i = 7; i <= 9; ++i) gets(s[i]+1); int a,b;
scanf("%d%d", &a, &b);
int px = (a-1) % 3 + 1, py = (b-1) % 3 + 1;
int u = px*3-2, l = py*3-2+py-1;
bool flag = false;
for (int i = u; i < u+3; ++i) {
for (int j = l; j < l+3; ++j) {
if (s[i][j]==46) {
flag = true, s[i][j] = 33;
}
}
}
if (!flag) {
for (int i = 1; i <= 9; ++i) {
for (int j = 1; j <= 11; ++j) if (s[i][j]==46) s[i][j] = 33;
}
}
for (int i = 1; i <= 3; ++i) puts(s[i]+1);
puts("");
for (int i = 4; i <= 6; ++i) puts(s[i]+1);
puts("");
for (int i = 7; i <= 9; ++i) puts(s[i]+1);
return 0;
}

C. Shockers

题意

游戏初始选定一个字母,选手要猜出这个字母是什么。

给出游戏进行的过程记录,包括三种格式:

  1. ". word":选手说出的单词中不包含该字母
  2. "! word":选手说出的单词中包含该字母
  3. “? letter”:选手猜了某一个字母,这个行为只在最后一次是正确的

在最后一次之前,每有一个'!'或'?',选手都会被电一次。

在某个时刻起,答案就唯一确定了,问从那个时刻起到最后,选手被电了多少次?

思路

也是直接模拟。

在到达唯一确定的时刻之前:

  1. 遇到'!':对目前可能的字母和这个word中的字母取个交集
  2. 遇到'.':对目前可能的字母和这个word中的字母取个差集
  3. 遇到'?':对目前可能的字母和这个letter取个差集

边做边记录当前有多少个可能的字母,一旦为1,则答案唯一确定。

一旦答案唯一确定了,接下来只需要统计有多少次不是'.'就电了多少次。

Code

#include <bits/stdc++.h>
using namespace std;
typedef long long LL;
char s[100010];
bool ok[1010], exist[1010];
int main() {
int n;
scanf("%d", &n);
bool flag = false;
int cnt=0; for (int i = 'a'; i <= 'z'; ++i) ok[i] = 1; int num = 26;
for (int i = 0; i < n; ++i) {
char ch;
scanf("\n%c%s", &ch, s);
if (flag) {
if (ch != '.' && i != n-1) ++cnt;
}
else {
if (ch == '!') {
int len = strlen(s);
memset(exist, 0, sizeof exist);
for (int j = 0; j < len; ++j) exist[s[j]] = 1;
for (int j = 'a'; j <= 'z'; ++j) {
if (ok[j] && !exist[j]) --num, ok[j] = 0;
}
if (num == 1) flag = true;
}
else if (ch == '.') {
int len = strlen(s);
memset(exist, 0, sizeof exist);
for (int j = 0; j < len; ++j) exist[s[j]] = 1;
for (int j = 'a'; j <= 'z'; ++j) {
if (ok[j] && exist[j]) --num, ok[j] = 0;
}
if (num == 1) flag = true;
}
else if (ch == '?') {
if (ok[s[0]]) --num, ok[s[0]] = 0;
if (num == 1) flag = true;
}
}
}
printf("%d\n", cnt);
return 0;
}

胡言乱语

应该是2017年的最后一场了。

接下来要好好复习(补天)准备期末考了。

今天这场...真是很曲折了...

睡到十点急急忙忙爬起来开电脑,错过了registration...

然后迷迷糊糊写了第一题,等到开始十分钟后的extra registration...一交就WA了...

因神志不清而隐隐的有些担心+慌张+迷茫 // 啥

然后A题WA了两发(...),B题WA了两发(没去掉freopen),C题WA了一发(少写一句话)

之后写E题写了四十分钟搜索...(躺倒 还没debug完毕...不知道啥时候再写了

竟然...涨了rating

好啦我的2017

出去的两场区域赛一直都想写博客来着然而太忙了什么的

cf一直写些没什么水平的题以及博客还为之浪费了不少时间

不啰嗦了睡觉了

希望我的期末一切顺利

Codeforces Round #454 Div. 2 A B C (暂时)的更多相关文章

  1. Codeforces Round #454 Div. 1 [ 906A A. Shockers ] [ 906B B. Seating of Students ] [ 906C C. Party ]

    PROBLEM A. Shockers 题 http://codeforces.com/contest/906/problem/A 906A 907C 解 水题,按照题意模拟一下就行了 如果是 ‘ ! ...

  2. Codeforces Round #454 (Div. 1) CodeForces 906D Power Tower (欧拉降幂)

    题目链接:http://codeforces.com/contest/906/problem/D 题目大意:给定n个整数w[1],w[2],……,w[n],和一个数m,然后有q个询问,每个询问给出一个 ...

  3. Codeforces Round #454 Div. 1

    B:考虑2*m怎么构造.因为要求相邻的数不能再相邻,容易想到黑白染色之类的东西,考虑染个色然后大概把黑点扔一边白点扔一边.显然m<=3时无解.对m>4,m为偶数时,如1 2 3 4 5 6 ...

  4. Codeforces Round #449 Div. 2 A B C (暂时)

    A. Scarborough Fair 题意 对给定的长度为\(n\)的字符串进行\(m\)次操作,每次将一段区间内的某一个字符替换成另一个字符. 思路 直接模拟 Code #include < ...

  5. Codeforces Round #366 (Div. 2) ABC

    Codeforces Round #366 (Div. 2) A I hate that I love that I hate it水题 #I hate that I love that I hate ...

  6. Codeforces Round #354 (Div. 2) ABCD

    Codeforces Round #354 (Div. 2) Problems     # Name     A Nicholas and Permutation standard input/out ...

  7. Codeforces Round #368 (Div. 2)

    直达–>Codeforces Round #368 (Div. 2) A Brain’s Photos 给你一个NxM的矩阵,一个字母代表一种颜色,如果有”C”,”M”,”Y”三种中任意一种就输 ...

  8. cf之路,1,Codeforces Round #345 (Div. 2)

     cf之路,1,Codeforces Round #345 (Div. 2) ps:昨天第一次参加cf比赛,比赛之前为了熟悉下cf比赛题目的难度.所以做了round#345连试试水的深浅.....   ...

  9. Codeforces Round #279 (Div. 2) ABCDE

    Codeforces Round #279 (Div. 2) 做得我都变绿了! Problems     # Name     A Team Olympiad standard input/outpu ...

随机推荐

  1. 火狐IE event和target的兼容

    一.event对象 IE 中可以直接使用 window.event 对象,而 FF 中则不可以,解决方法之一如下: var theEvent = window.event || arguments.c ...

  2. Python读取内容UnicodeDecodeError错误

    1.错误现象 环境:Python3.7 描述: 用open方法获取文件句柄: 用read/readlines方法一次读取文件所有内容: 尝试了编码GB2312/GBK/GB18030/UTF-8,发现 ...

  3. day 71 Django基础六之ORM中的锁和事务

    Django基础六之ORM中的锁和事务   本节目录 一 锁 二 事务 三 xxx 四 xxx 五 xxx 六 xxx 七 xxx 八 xxx 一 锁 行级锁 select_for_update(no ...

  4. 初学Python不知道做什么项目好?来看看练手项目如何?

    对于初学者来说,在学习编程的初期,由于基础知识点的学习是比较无聊的,所以大家可能会有所反感,为了减弱大家的反感,我给大家带来一个简单的小项目——实现屏保计时器,这个项目就算是刚学Python的小伙伴, ...

  5. Thread 小总结

    目录 线程概述 线程的定义 线程的启动 线程的状态 线程的方法属性 1.线程概述 线程是一个程序的多个执行路径,执行调度的单元,依托于进程的存在.线不仅可以共享进程的内在,而且还拥有一个属于自己的内存 ...

  6. BFS:HDU2612-Find a way(双向BFS)

    Find a way Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total ...

  7. HDU_6194 后缀数组+RMQ

    好绝望的..想了五个多小时,最后还是没A...赛后看了下后缀数组瞬间就有了思路...不过因为太菜,想了将近两个小时才吧这个题干掉. 首先,应当认为,后缀数组的定义是,某字符串S的所有后缀按照字典序有小 ...

  8. Linux下安装nginx,以及启动和停止

    1.安装 安装nginx之前,首先确保系统已经安装了依赖:g++.gcc.openssl-devel.pcre-devel和zlib-devel软件 yum install gcc-c++ yum - ...

  9. flask url_for()和redirect的区别

    一. 两者用来重定向的时候,被操作的对象不同. redirect直接是url,就是app.route的路径参数. url_for()是对函数进行操作. from flask import Flask, ...

  10. Android 使用intent传递返回值:startActivityForResult()与onActivityResult()与setResult()参数分析,activity带参数的返回

    在一个父Activity通过intent跳转至多个不同子Activity上去,当子模块的代码执行完毕后再次返回父页面,将子activity中得到的数据显示在主界面/完成的数据交给父Activity处理 ...