Educational Codeforces Round 16---部分题解
给你图中一点求出它周围有几个可达的点;
除边界之外都是8个,边界处理一下即可;
#include<iostream>
#include<cstdio>
#include<cstring>
#include<cstdlib>
#include<cmath>
#include<cctype>
#include<queue>
#include<stack>
#include<vector>
#include<algorithm> using namespace std;
typedef long long LL;
#define N 100100
#define INF 0x3f3f3f3f int main()
{
char a;
int b, ans;
scanf("%c%d", &a, &b);
if(a == 'a' || a == 'h')
{
if(b == || b == )
ans = ;
else
ans = ;
}
else
{
if(b == || b == )
ans = ;
else
ans = ;
}
printf("%d\n", ans);
return ;
}
在坐标抽上给你n个点,选出一个点,使得所有点到这点的距离和最小;
排序输出中间值即可;
#include<iostream>
#include<cstdio>
#include<cstring>
#include<cstdlib>
#include<cmath>
#include<cctype>
#include<queue>
#include<stack>
#include<vector>
#include<algorithm> using namespace std;
typedef long long LL;
#define N 300100
#define INF 0x3f3f3f3f int a[N]; int main()
{
int n;
scanf("%d", &n);
for(int i=; i<=n; i++)
scanf("%d", &a[i]); sort(a+, a+n+); printf("%d\n", a[(n+)/]);
return ;
}
/*
7
1 2 3 5 8 99 100
6
3 2 1 98 99 100
*/
给你一个奇数n(n<=49)然后把1---n*n这些数填入到n*n的矩阵中,使得每行每列以及两个主对角线的和都为奇数
我们可以发现规律就是在矩阵的中间那个菱形地方填入奇数就能满足条件;
#include<iostream>
#include<cstdio>
#include<cstring>
#include<cstdlib>
#include<cmath>
#include<cctype>
#include<queue>
#include<stack>
#include<vector>
#include<algorithm> using namespace std;
typedef long long LL;
#define N 300
#define INF 0x3f3f3f3f int main()
{
int n, x = , y = ,a[N][N];
scanf("%d", &n); int half = (n+)/; for(int i=; i<=half; i++)
{
for(int j=half-i+; j<=half+i-; j++)
{
a[i][j] = x;
x += ;
}
}
for(int i=n,m=; i>half; i--,m++)
{
for(int j=half-m+; j<=half+m-; j++)
{
a[i][j] = x;
x += ;
}
}
for(int i=; i<=n; i++)
{
for(int j=; j<=n; j++)
{
if(a[i][j] == )
{
a[i][j] = y;
y += ;
}
printf("%d%c", a[i][j], j==n?'\n':' ');
}
}
return ;
}
想输入一个长度为 n 字符串,字符串中的字符都是一样的,添加或者删除一个字符各需要x秒,复制并且粘贴共需要y秒,问最少需要多少秒能把n个字符都打出来;
当n为偶数时,n可以由n/2复制得来,也可以由添加n/2个字符得来,所以取两者中的最小值;
当n为奇数是,n要删除一个,或者添加一个字符,所以我们要看两种哪种带来的时间少,谁少取谁;
用递归一层一层的找下去,用find(n)返回到达n所需的最优解;
#include <iostream>
#include <stdio.h>
#include <string.h>
#include <algorithm>
#include <math.h>
#include <map>
using namespace std;
#define N 2010
#define met(a, b) memset(a, b, sizeof(a))
#define INF 0x3f3f3f3f
#define LINF 10e16
typedef long long LL; LL x, y; LL Find(LL n)
{
if(n == ) return ;
if(n == ) return x;///必须由添加一个字符得来; if(n% == )
{
LL num = Find(n/);
return min(num + x*(n/), num + y);
}
else
{
LL num1 = Find(n-);
LL num2 = Find(n+);
return min(num1, num2) + x;
}
} int main()
{
LL n;
scanf("%I64d %I64d %I64d", &n, &x, &y);
LL ans = Find(n);
printf("%I64d\n", ans);
return ;
}
Educational Codeforces Round 16---部分题解的更多相关文章
- [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 16]C. Magic Odd Square
[Educational Codeforces Round 16]C. Magic Odd Square 试题描述 Find an n × n matrix with different number ...
- [Educational Codeforces Round 16]B. Optimal Point on a Line
[Educational Codeforces Round 16]B. Optimal Point on a Line 试题描述 You are given n points on a line wi ...
- [Educational Codeforces Round 16]A. King Moves
[Educational Codeforces Round 16]A. King Moves 试题描述 The only king stands on the standard chess board ...
- [Educational Codeforces Round 16]D. Two Arithmetic Progressions
[Educational Codeforces Round 16]D. Two Arithmetic Progressions 试题描述 You are given two arithmetic pr ...
- Educational Codeforces Round 64 部分题解
Educational Codeforces Round 64 部分题解 不更了不更了 CF1156D 0-1-Tree 有一棵树,边权都是0或1.定义点对\(x,y(x\neq y)\)合法当且仅当 ...
- Educational Codeforces Round 64部分题解
Educational Codeforces Round 64部分题解 A 题目大意:给定三角形(高等于低的等腰),正方形,圆,在满足其高,边长,半径最大(保证在上一个图形的内部)的前提下. 判断交点 ...
- Educational Codeforces Round 63部分题解
Educational Codeforces Round 63 A 题目大意就不写了. 挺简单的,若果字符本来就单调不降,那么就不需要修改 否则找到第一次下降的位置和前面的换就好了. #include ...
- Educational Codeforces Round 16 E. Generate a String dp
题目链接: http://codeforces.com/problemset/problem/710/E E. Generate a String time limit per test 2 seco ...
- Educational Codeforces Round 16 D. Two Arithmetic Progressions (不互质中国剩余定理)
Two Arithmetic Progressions 题目链接: http://codeforces.com/contest/710/problem/D Description You are gi ...
随机推荐
- [Cocos2d-x For WP8]Hello world
[Cocos2d-x For WP8]Hello world Cocos2d-x For WP8使用C++开发,使用cocos2d-xv0.13同样的接口,Cocos2d-x For WP8的相关项目 ...
- 【BZOJ】1015: [JSOI2008]星球大战starwar(并查集)
http://www.lydsy.com/JudgeOnline/problem.php?id=1015 看了题解的囧T_T,一开始以为是求割点,但是想到割点不能统计.... 这题用并查集,思想很巧妙 ...
- JavaScript_判断浏览器种类IE、FF、Opera、Safari、chrome及版本
function myBrowser(){ var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串 var isOpera = userAg ...
- jsp页面中的代码执行加载顺序介绍
1. java是在服务器端运行的代码,jsp在服务器的servlet里运行,而javascript和html都是在浏览器端运行的代码.所以加载执行顺序是是java>jsp>js. 2. j ...
- 不要使用SBJSON(json-framework)
不要使用SBJSON(json-framework) 文章目录 不知道为什么,在iOS开发中,有很多人使用 SBJSON (又被称作json-framework)来做JSON解析库.我想这是因为SBJ ...
- 命令行编译运行Java
首先要安装JDK,然后设置环境变量Path,添加C:\Program Files (x86)\Java\jdk1.8.0_66\bin 然后建立一个名为j.java的文件,里面加入如下代码: publ ...
- 怎样使用Photoshop CS5的操控变形功能
| 浏览:23114 | 更新:2011-08-08 10:10 | 标签: photoshop 1 2 3 4 5 6 7 分步阅读 Photoshop CS5已经发布很长时间了,和以前的版本相比, ...
- Angular数据双向绑定
Angular数据双向绑定 AngularJS诞生于2009年,由Misko Hevery 等人创建,后为Google所收购.是一款优秀的前端JS框架,已经被用于Google的多款产品当中.Angul ...
- DNS服务器的配置与应用: BIND9 的安装与配置
3. BIND9 的安装与配置 3.1 bind简介 BIND (Berkeley Internet Name Domain)是Domain Name System (DNS) 协议的一个实现,提供了 ...
- Ubuntu输入密码登陆后又跳回到登录界面
现象:在Ubuntu登陆界面输入密码之后,黑屏一闪并且出现了check battery state之类的文字之后,又跳转到登录界面.原因:主目录下的.Xauthority文件拥有者变成了root,从而 ...