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的更多相关文章

  1. Educational Codeforces Round 25 E. Minimal Labels&&hdu1258

    这两道题都需要用到拓扑排序,所以先介绍一下什么叫做拓扑排序. 这里说一下我是怎么理解的,拓扑排序实在DAG中进行的,根据图中的有向边的方向决定大小关系,具体可以下面的题目中理解其含义 Educatio ...

  2. 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 ...

  3. Educational Codeforces Round 25 A,B,C,D

    A:链接:http://codeforces.com/contest/825/problem/A 解题思路: 一开始以为是个进制转换后面发现是我想多了,就是统计有多少个1然后碰到0输出就行,没看清题意 ...

  4. 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 ...

  5. 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 ...

  6. 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 ...

  7. Educational Codeforces Round 25 D - Suitable Replacement(贪心)

    题目大意:给你字符串s,和t,字符串s中的'?'可以用字符串t中的字符代替,要求使得最后得到的字符串s(可以将s中的字符位置两两交换,任意位置任意次数)中含有的子串t最多. 解题思路: 因为知道s中的 ...

  8. [Educational Codeforces Round 16]E. Generate a String

    [Educational Codeforces Round 16]E. Generate a String 试题描述 zscoder wants to generate an input file f ...

  9. Educational Codeforces Round 60 (Rated for Div. 2) 题解

    Educational Codeforces Round 60 (Rated for Div. 2) 题目链接:https://codeforces.com/contest/1117 A. Best ...

随机推荐

  1. 微信小程序开发——点击防重的解决方案

    对于一些涉及后端接口请求的单击事件,不论后端是否做了请求限制,前端还是有必要进行点击防重处理的. 这样既能减少对服务器端的压力,也能有效防止因重复请求而造成一些不可预期的异常. 尤其是接口请求结果处理 ...

  2. RESTful Web服务与“大”Web服务: 做出正确的建筑决策

    猜测:REST服务的不足之处 问题:WS- *与REST的争论 结论:REST在灵活性和控制方面得分更高,但需要大量的低级编码; WS- *提供更好的工具支持和编程接口方便,但引入了对供应商和开源项目 ...

  3. Python播放、关闭音乐代码

    1.安装pygame:win + r :打开控制台输入:pip install pygame 2.#导入 import time import pygame 3.设置音乐绝对路径 #音乐路径 file ...

  4. Newtonsoft.Json 你必须知道的一些用法

    最近在做接口开发,对方团队开发了一个Web API 的接口,传输数据的格式是 JSON.当时看到这个东西,感觉很简单,也没想什么,没用多久就完成了我的功能,我完成的功能很简单,就是获取数据,然后把数据 ...

  5. windows socket 文件下载上传

    socket 图片 文件 下载上传  数据库 线程池  存入图片 等

  6. Java中的4个并发工具类 CountDownLatch CyclicBarrier Semaphore Exchanger

    在 java.util.concurrent 包中提供了 4 个有用的并发工具类 CountDownLatch 允许一个或多个线程等待其他线程完成操作,课题点 Thread 类的 join() 方法 ...

  7. 从集合中查找最值得方法——max(),min(),nlargest(),nsmallest()

    从集合中查找最值得方法有很多,常用的方法有max(),min(),nlargest(),nsmallest()等. 一.max()和min() 1.1 入门用法 直接使用max(),min(),返回可 ...

  8. 第二阶段第八次spring会议

    昨天我对软件进行了植物网站的添加. 今天我将对软件进行宠物信息的添加. 清屏功能 private void button5_Click(object sender, EventArgs e) { te ...

  9. Navicat Premium 修改MySQL密码(忘记密码的情况下)

    Navicat Premium 修改MySQL密码 1,首先,Navicat Premium还能够连接MySQL. 2,选择数据库,右键单击,选择“命令行模式...”,下图示例 3,打开命令行模式, ...

  10. 【Java】基本数据类型

    基本知识点给个链接: https://blog.csdn.net/qwe969153746/article/details/53353534 问题: 1.3*0.1 == 0.3 返回什么: fals ...