Educational Codeforces Round 25
A
题意:给你一个01的字符串,0是个分界点,0把这个字符串分成(0的个数+1)个部分,分别求出这几部分1的个数。例如110011101 输出2031,100输出100,1001输出101
代码:
#include<stdio.h>
using namespace std;
int n;
char a[100];
int b[100];
int main()
{
while(~scanf("%d",&n))
{
scanf("%s",a);
int flag=0;
int k=0;
int cnt=0;
for(int i=0; i<n; i++)
{
if(a[i]=='1')
{
cnt++;
flag=0;
}
else
{
if(flag==0)
{
b[k++]=cnt;
flag=1;
cnt=0;
}
else if(flag==1)
{
b[k++]=0;
}
}
}
b[k++]=cnt;
for(int i=0; i<k; i++)
printf("%d",b[i]);
printf("\n");
}
return 0;
}
B
题意:五子棋,表示可以放旗子,x表示Alice的棋子,o是敌人的棋子,现在轮到Alice,问Alice是否能赢。
代码:
#include<stdio.h>
using namespace std;
char a[11][11];
int b,flag;
int main()
{
flag=0;
for(int i=0; i<10; i++)
scanf("%s",a[i]);
for(int i=0; i<10; i++)
for(int j=0; j<10; j++)
{
if(a[i][j]=='.')
{
b=0;
for(int k=i+1; (k<=i+5)&&k<10; k++)
if(a[k][j]=='X')
b++;
else
break;
for(int k=i-1; (k>=i-5)&&k>=0; k--)
if(a[k][j]=='X')
b++;
else
break;
if(b>=4)
flag=1;
b=0;
for(int k=j+1; (k<=j+5)&&k<10; k++)
if(a[i][k]=='X')
b++;
else
break;
for(int k=j-1; (k>=j-5)&&k>=0; k--)
if(a[i][k]=='X')
b++;
else
break;
if(b>=4)
flag=1;
b=0;
for(int k=1; k<=5; k++)
if((a[i+k][j+k]=='X')&&(i+k)<10&&(j+k)<10)
b++;
else
break;
for(int k=1; k<=5; k++)
if((a[i-k][j-k]=='X')&&(i-k)>=0&&(j-k)>=0)
b++;
else
break;
if(b>=4)
flag=1;
b=0;
for(int k=1; k<=5; k++)
if((a[i+k][j-k]=='X')&&(i+k)<10&&(j-k)>=0)
b++;
else
break;
for(int k=1; k<=5; k++)
if((a[i-k][j+k]=='X')&&(i-k)>=0&&(j+k)<10)
b++;
else
break;
if(b>=4)
flag=1;
if(flag==1)
break;
}
else
continue;
}
if(flag)
printf("YES\n");
else
printf("NO\n");
return 0;
}
C
题意:现在拥有的困难数为k,如果a[i]/2<=k,表示这个问题可以解决,如果啊a[i]>k/2则k*=2,直到a[i]<=k/2,并且k=max(k,a[i]),问k*=2的总次数,使得所有的a[i]<=k/2。
代码:
#include<stdio.h>
#include<algorithm>
using namespace std;
int n;
double m;
double a[1100];
int main()
{
while(~scanf("%d%lf",&n,&m))
{
for(int i=0; i<n; i++)
scanf("%lf",&a[i]);
sort(a,a+n);
double k=m;
int cnt=0;
for(int i=0; i<n; i++)
{
if(a[i]/2.0<=k)
{
k=max(k,a[i]);
continue;
}
else
{
while(1)
{
k*=2;
cnt++;
if(a[i]/2.0<=k)
break;
}
}
k=max(k,a[i]);
}
printf("%d\n",cnt);
}
return 0;
}
Educational Codeforces Round 25的更多相关文章
- Educational Codeforces Round 25 E. Minimal Labels&&hdu1258
这两道题都需要用到拓扑排序,所以先介绍一下什么叫做拓扑排序. 这里说一下我是怎么理解的,拓扑排序实在DAG中进行的,根据图中的有向边的方向决定大小关系,具体可以下面的题目中理解其含义 Educatio ...
- Educational Codeforces Round 25 Five-In-a-Row(DFS)
题目网址:http://codeforces.com/contest/825/problem/B 题目: Alice and Bob play 5-in-a-row game. They have ...
- Educational Codeforces Round 25 A,B,C,D
A:链接:http://codeforces.com/contest/825/problem/A 解题思路: 一开始以为是个进制转换后面发现是我想多了,就是统计有多少个1然后碰到0输出就行,没看清题意 ...
- Educational Codeforces Round 25 C. Multi-judge Solving
题目链接:http://codeforces.com/contest/825/problem/C C. Multi-judge Solving time limit per test 1 second ...
- Educational Codeforces Round 25 B. Five-In-a-Row
题目链接:http://codeforces.com/contest/825/problem/B B. Five-In-a-Row time limit per test 1 second memor ...
- Educational Codeforces Round 25 E. Minimal Labels 拓扑排序+逆向建图
E. Minimal Labels time limit per test 1 second memory limit per test 256 megabytes input standard in ...
- Educational Codeforces Round 25 D - Suitable Replacement(贪心)
题目大意:给你字符串s,和t,字符串s中的'?'可以用字符串t中的字符代替,要求使得最后得到的字符串s(可以将s中的字符位置两两交换,任意位置任意次数)中含有的子串t最多. 解题思路: 因为知道s中的 ...
- [Educational Codeforces Round 16]E. Generate a String
[Educational Codeforces Round 16]E. Generate a String 试题描述 zscoder wants to generate an input file f ...
- Educational Codeforces Round 60 (Rated for Div. 2) 题解
Educational Codeforces Round 60 (Rated for Div. 2) 题目链接:https://codeforces.com/contest/1117 A. Best ...
随机推荐
- oracle优化(一)
非原创 1. 选用合适的ORACLE优化器 ORACLE的优化器有3种: a. RULE(基于规则)b. COST(基于成本) c. CHOOSE(选择性) 选择缺省的优化器,可以通过对init.or ...
- 用python计算圆周率Π
一.要求: 1.计算到圆周率后面越多位越好. 2.用进度条显示计算的进度. 3.要求给出圆周率Π的具体计算方法和解释. 二.算法: 1.拉马努金公式: 2.高斯-勒让德公式: 设置初始值: 反复执行以 ...
- 牛客小白月赛13 小A的柱状图(单调栈)
链接:https://ac.nowcoder.com/acm/contest/549/H来源:牛客网 题目描述 柱状图是有一些宽度相等的矩形下端对齐以后横向排列的图形,但是小A的柱状图却不是一个规范的 ...
- paloalto防火墙内存使用率高
上述内存使用率是正常的,实际使用的是buffers.
- Linux(centos)下安装JDK
安装 JDK是运行java程序必不可少的环境,服务器上跑程序也不例外.首先在安装之前,要知道Linux下安装软件有两种,一种是使用yum等命令直接下载,一种是使用上传下载工具,上传至Linux下使用, ...
- 用7ch中断例程完成jmp near ptr s指令的功能,用bx向中断例程传送转移位移。
应用举例:在屏幕的第12行,显示data段中以0结尾的字符串. assume cs:code data segment db data ends code segment start: mov ax, ...
- Redis分布式缓存
Redis 主 slave 数据库优化-- 加inex, 分区 JVM调优--参数设置,比如偏向于计算的如何设置? 线程池:queue放满了之后,有什么方式能让他不拒绝掉?blockqueue就等在那 ...
- Windows PowerShell基本语法及常用命令
PowerShell常用命令: 一 Get类 1.Get-Command : 得到所有PowerShell命令,获取有关 cmdlet 以及有关 Windows PowerShell 命令的其他元素的 ...
- iptables命令提取总结,包含扩展模块<取自朱双印博客>
以下内容只是一些命令相关的,以朱双印博客中的iptables的教程提取出来的.纯粹只是命令的总结,如果需要看理论的知识,建议去看朱老师的博客,目前还没有看到写得比这个好的了. <http://w ...
- 获取Vue的实例方法
我们知道在new Vue({...})后,如果没有赋值给一个变量存储,我们很难拿到这个实例,Vue官方也没有提供Vue.getInstance方法,那我们就自己扩展个吧 Code: Vue.getIn ...