710A. King Moves

给你图中一点求出它周围有几个可达的点;

除边界之外都是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 ;
}

B. Optimal Point on a Line

在坐标抽上给你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
*/

C. Magic Odd Square

给你一个奇数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 ;
}

E. Generate a String

想输入一个长度为 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---部分题解的更多相关文章

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

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

  2. [Educational Codeforces Round 16]C. Magic Odd Square

    [Educational Codeforces Round 16]C. Magic Odd Square 试题描述 Find an n × n matrix with different number ...

  3. [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 ...

  4. [Educational Codeforces Round 16]A. King Moves

    [Educational Codeforces Round 16]A. King Moves 试题描述 The only king stands on the standard chess board ...

  5. [Educational Codeforces Round 16]D. Two Arithmetic Progressions

    [Educational Codeforces Round 16]D. Two Arithmetic Progressions 试题描述 You are given two arithmetic pr ...

  6. Educational Codeforces Round 64 部分题解

    Educational Codeforces Round 64 部分题解 不更了不更了 CF1156D 0-1-Tree 有一棵树,边权都是0或1.定义点对\(x,y(x\neq y)\)合法当且仅当 ...

  7. Educational Codeforces Round 64部分题解

    Educational Codeforces Round 64部分题解 A 题目大意:给定三角形(高等于低的等腰),正方形,圆,在满足其高,边长,半径最大(保证在上一个图形的内部)的前提下. 判断交点 ...

  8. Educational Codeforces Round 63部分题解

    Educational Codeforces Round 63 A 题目大意就不写了. 挺简单的,若果字符本来就单调不降,那么就不需要修改 否则找到第一次下降的位置和前面的换就好了. #include ...

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

  10. Educational Codeforces Round 16 D. Two Arithmetic Progressions (不互质中国剩余定理)

    Two Arithmetic Progressions 题目链接: http://codeforces.com/contest/710/problem/D Description You are gi ...

随机推荐

  1. css3中的几何图形shape研究

    前言 估计大家在日常工作中都会用到css形状,但是目前天朝中使用到最多的估计就是圆(circle).椭圆(ellipse).各种三角形形状,但是你肯定很少看见过用几何图形或者多边图形.假如你不懂什么叫 ...

  2. TYVJ P1098 任务安排 Label:倒推dp 不懂

    描述 N个任务排成一个序列在一台机器上等待完成(顺序不得改变),这N个任务被分成若干批,每批包含相邻的若干任务.从时刻0开始,这些任务被分批加工,第i个任务单独完成所需的时间是Ti.在每批任务开始前, ...

  3. GetSystemMetrics()

    GetSystemMetrics()函数的用法 可以用GetSystemMetrics函数可以获取系统分辨率,但这只是其功能之一,GetSystemMetrics函数只有一个参数,称之为「索引」,这个 ...

  4. empty与isset的一点使用体会

    刚在做表单提交的时候,我想检验一下数据是否存在,并用var_dump函数看一下数据.首先看使用isset()的代码 //登录函数 function login(){ if(!isset($_POST) ...

  5. 文件上传\">将在3秒钟后返回前页

    conn.php: <?php $id=mysql_connect('localhost','root','root'); mysql_select_db("db_database12 ...

  6. ArcGISDynamicMapServiceLayer 实现条件过滤

    <html>   <head>   <meta http-equiv="Content-Type" content="text/html; ...

  7. python 安装pip的时候出现UnicodeEncodeError错误

    另外 Python 中一个比较常见的问题是编码问题,若遇到类似"UnicodeEncodeError: 'ascii' codec can't encode character u'\u62 ...

  8. [IT新应用]如何部署CITRIX 虚拟桌面

    1.搭建AD,并部署dhcp. 2.安装ddc服务器,加入域.这台服务器就是用来发布后端服务器或者WIN7的PC给用户使用.相当于调度. 3.安装windows server或者win7,用于发布给用 ...

  9. Javascript 笔记与总结(2-2)Javascript 变量

    js 的变量名可以由 _,数字,字母,$ 组成,且 不能以数字开头.在 jQuery 中就定义了一个全局变量 $ . 声明变量用 var 变量名,如果不用 var,则会污染全局. js 变量类型包括: ...

  10. 采用HSV生成随机颜色

    使用hsv/hsb生成随机颜色,并排除靠近黑白两色的色值 public static String randomColor(){ int max = 25500000 ; Random rand = ...