Tinkoff Challenge - Final Round (Codeforces Round #414, rated, Div. 1 + Div. 2)
A:
思路:就是找b,c之前有多个s[i]
代码:
#include<stdio.h>
#define ll long long
using namespace std;
ll a,b,c;
int n;
int s[110000];
int main()
{
while(~scanf("%lld%lld%lld",&a,&b,&c))
{
scanf("%d",&n);
int sum=0;
for(int i=0;i<n;i++)
{
scanf("%d",&s[i]);
if(s[i]>b&&s[i]<c)
sum++;
}
printf("%d\n",sum);
}
return 0;
}
B:
题意:把一个等腰三角形分成面积相等的n部分,输出h1,h1+h2,h1+h2+h3,...
思路:先找出第一部分的高h1,然后h1+h2=sqrt(2)*h1,后面每个值都可以通过h1得到。
代码:
#include<stdio.h>
#include<math.h>
#include<stdlib.h>
#include<algorithm>
using namespace std;
int n,h;
double a[1008];
int main()
{
while(~scanf("%d%d",&n,&h))
{
a[0]=h*1.0/sqrt(n);
for(int i=1; i<n-1; i++)
{
a[i]=sqrt(i+1)*a[0];
}
for(int i=0; i<n-1; i++)
i==n-2? printf("%.16f\n",a[i]):printf("%f ",a[i]);
}
return 0;
}
C:
题意:Oleg手中有个字符串a,Igor有个字符串b,他们需要构成一个新的字符串c,Oleg的希望是c这个字符串尽可能的小,lgor的希望是c这个字符串尽可能大。从Oleg开始从a中选一个字符放入c中,然后是lgor。
思路:先将a串从小到大排序,b从大到小,如果n为偶数a选取前n/2+1位,否则a,b都选前n/2位。轮到Oleg放置时比较当前a的最小值与b的最大值,如果是小于就把当前a的最小值放在c的前面部分,否则把当前a的最大值放在c的后面部分。轮到lgor放置时比较当前a的最小值与b的最大值,如果是小于就把b当前的最大值放到c的前面部分,否则把b的最小值放在c的后面部分。
代码:
#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
char a[300005];
char b[300005];
char c[300005];
int vis[300005];
bool cmp1(char aa,char bb)
{
return aa<bb;
}
bool cmp2(char aa,char bb)
{
return aa>bb;
}
int main()
{
while(~scanf("%s",a+1))
{
scanf("%s",b+1);
int n=strlen(a+1);
sort(a+1,a+n+1,cmp1);
sort(b+1,b+n+1,cmp2);
// puts(a+1);
// puts(b+1);
int k=1;
int t=n;
int jj=n/2;
int ii=n/2;
if(n&1)
ii++;
int i=1;
int j=1;
for(int l=1; l<=n; l++)
{
if(l==n&&(l&1))
c[k++]=a[i++];
if(l&1)
{
if(a[i]<b[j])
c[k++]=a[i++];
else
c[t--]=a[ii--];
}
else
{
if(a[i]<b[j])
c[k++]=b[j++];
else
c[t--]=b[jj--];
}
}
c[n+1]='\0';
puts(c+1);
}
return 0;
}
Tinkoff Challenge - Final Round (Codeforces Round #414, rated, Div. 1 + Div. 2)的更多相关文章
- Tinkoff Challenge - Final Round (Codeforces Round #414, rated, Div. 1 + Div. 2) 继续跪一把
这次的前三题挺简单的,可是我做的不快也不对. A. Bank Robbery time limit per test 2 seconds memory limit per test 256 megab ...
- Tinkoff Challenge - Final Round (Codeforces Round #414, rated, Div. 1 + Div. 2) 【ABC】
老年人题解,语言python3 A - Bank Robbery 题意:给你ABC,以及n个数,问你在(B,C)之间的数有多少个. 题解:对于每个数判断一下就好了嘛 x,y,z = map(int,i ...
- 【构造】Tinkoff Challenge - Final Round (Codeforces Round #414, rated, Div. 1 + Div. 2) D. Labelling Cities
考试的时候想的是,将所有的完全子图缩起来,然后如果剩下的是一条链,依次对其进行标号即可. 看了官方题解,发现完全子图这个条件太强了,缩点的条件仅仅需要保证原本两个点的“邻接表”相同即可.(注意这里的“ ...
- 【贪心】【multiset】Tinkoff Challenge - Final Round (Codeforces Round #414, rated, Div. 1 + Div. 2) C. Naming Company
考虑两个人,先把各自的集合排个序,丢掉一半,因为比较劣的那一半一定用不到. 然后贪心地放,只有两种决策,要么把一个最优的放在开头,要么把一个最劣的放在结尾. 如果我的最优的比对方所有的都劣(或等于), ...
- Tinkoff Challenge - Final Round (ABC)
A题:从两个保安中间那钞票 #include <bits/stdc++.h> using namespace std; int main() { int a,b,c; scanf(&quo ...
- Codeforces Round #412 (rated, Div. 2, base on VK Cup 2017 Round 3)(A.B.C,3道暴力题,C可二分求解)
A. Is it rated? time limit per test:2 seconds memory limit per test:256 megabytes input:standard inp ...
- Codeforces Round #412 (rated, Div. 2, base on VK Cup 2017 Round 3) A B C D 水 模拟 二分 贪心
A. Is it rated? time limit per test 2 seconds memory limit per test 256 megabytes input standard inp ...
- Codeforces 1023 A.Single Wildcard Pattern Matching-匹配字符 (Codeforces Round #504 (rated, Div. 1 + Div. 2, based on VK Cup 2018 Fi)
Codeforces Round #504 (rated, Div. 1 + Div. 2, based on VK Cup 2018 Final) A. Single Wildcard Patter ...
- CF Intel Code Challenge Final Round (Div. 1 + Div. 2, Combined)
1. Intel Code Challenge Final Round (Div. 1 + Div. 2, Combined) B. Batch Sort 暴力枚举,水 1.题意:n*m的数组, ...
随机推荐
- 分组\聚合\F\Q查询
一.分组和聚合查询 1.aggregate(*args,**kwargs) 聚合函数 通过对QuerySet进行计算,返回一个聚合值的字典.aggregate()中每一个参数都指定一个包含在字典中的 ...
- MAC终端如何使用rar和unrar
一.MAC具体安装见下面两个博客分享: Homebrew介绍和使用:https://www.jianshu.com/p/de6f1d2d37bf Mac 压缩 / 解压缩工具解决方案:https:// ...
- python—查找以XXX结尾的文件
# 查找电脑所有视频 for cur_dir,dirs,files in os.walk(r'f:'): print('当前正在%s目录下查找'%cur_dir) for f in files:#当前 ...
- LeetCode解题录-1~50
[leetcode]1. Two Sum两数之和 Two Pointers, HashMap Easy [leetcode]2. Add Two Numbers两数相加 Math, LinkedLis ...
- 使用CSV控件方法实现参数化
一.录制脚本 二.下面介绍如何使用CSV控件方法实现参数化 1. 添加-->配置元件-->csv Data Set Config Filename:文件的来源 Variable Name ...
- jquery 全选、反选、获取值、背景行、隔行变色和鼠标略过变色变色全特效
好久没有写东西了,当然不是没东西可写,只是没有时间写.今天抽出点时间来把我最近使用的一些 Javascript 特效的东西贴出来,供自己或者别人查询使用.最近我在做一个新的 B/S 系统,由于没有专门 ...
- ABB机器人设置安全区(案例版)
ABB机器人设置安全区.中断(案例版) 1.概述 在如今机器人中普遍会设置机器人的安全区域,也可以理解为工作范围.主要目的是为了机器人运行时的安全性和可靠性.ABB机器人也不例外,下面我们就讲讲ABB ...
- 在linux上添加硬盘
首先呢我们需要添加一个硬盘,如下所示: 接着我们需要新建一个硬盘 代码如下: mkdir /bak fdisk -l 接着我们继续第二步,分区 代码如下: fdisk /dev/sdb n add ...
- 关于Https
http://blog.csdn.net/wfdtxz/article/details/8678982 https://www.tuicool.com/articles/feYfE3I https:/ ...
- 无符号1byte转int
在java基本类型中byte是有正负之分,它的取值范围-128到127,有时候在网络编程里我们只需要正数,于是会约定1byte是无符号的,它的取值范围在255-0.那么我们怎么将无符号的1byte转为 ...