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的数组, ...
随机推荐
- Ubuntu开机时提示“piix4_smbus 0000:00:07.3: SMBus Host controller not enabled”
问题描述:Ubuntu开机时提示“piix4_smbus 0000:00:07.3: SMBus Host controller not enabled” 版本:Ubuntu 18.04 VMw ...
- 算法练习LeetCode初级算法之设计问题
打乱数组 不断的让第一个与后面随机选择的数交换 class Solution { private int[] nums; private int[] initnums; public Solution ...
- Retrofit 2.0 上传文件
1.用MultipartBody.Part的方式上传文件(单文件上传)(表单方式) @Multipart @POST("xxx/xxx") Call<ResponseBody ...
- MySQL实现阶段累加的sql写法 ,eq:统计余额
最近项目碰到一个新的需求,统计每日充值/消费之后的余额.对于这种需求,其实也很简单,只需要在每次充值/消费后,计算下余额,然后保存下来就可以了.但是对于这种需求,一条sql就能搞定,都不需要做冗余字段 ...
- canvas的使用方法
了解canvas:canvas标签是用作图形绘制,但是通过js脚本来实现的,canvas标签其实只是一个容器 ,最终实现绘制功能肯定是通过js脚本实现. 首先肯定要定义一个canvas标签当做容器 & ...
- 25. pt-slave-restart
pt-slave-restart -h 192.168.100.103 -P 3306 -u admin -p admin \--error-numbers 1032 set global slave ...
- douyin-bot-代码
# -*- coding: utf-8 -*- import sys import random import time from PIL import Image if sys.version_in ...
- oracle使用数据泵进行数据的导入导出
https://m.jb51.net/article/32352.htm
- PowerDesigner code、name显示设置 及 同时显示办法
菜单->Tool->Model Options->Name Convention->右侧display中选择显示name还是code. 不支持同时显示,但可以选择显示code, ...
- IntelliJ隐藏特定后缀文件
preference-