码迷,mamicode.com
首页 > 其他好文 > 详细

Educational Codeforces Round 16

时间:2016-09-10 10:07:53      阅读:111      评论:0      收藏:0      [点我收藏+]

标签:

A. King Moves

water。= =。

 

 1 #include <cstdio>
 2 int dx[] = {0,0,1,1,1,-1,-1,-1};
 3 int dy[] = {1,-1,0,1,-1,0,1,-1,0};
 4 #define judge(x,y) x >= 1 && x <= 8 && y >= 1 && y <= 8
 5 int main()
 6 {
 7     char t;
 8     int x, y, cnt = 0;
 9     scanf("%c%d", &t, &y);
10     x = t - a + 1;
11     for(int i = 0; i < 8; i++)
12     {
13         int fx = x + dx[i], fy = y + dy[i];
14         if(judge(fx,fy))    cnt++;
15     }
16     printf("%d\n", cnt);
17     return 0;
18 }

 

 

 

B. Optimal Point on a Line

题目大意:给你n个坐标,找一个点到n个点的距离之和最小,如果有多解,选最左的。

这个感觉就是一道初中数竞题嘛。。那时候好像是一个区间?求的是。

 

#include <cstdio>
#include <algorithm>
using namespace std;
typedef long long LL;
const int maxn = 3 * 1e5 + 5;
int x[maxn];
int main()
{
    int n;
    scanf("%d", &n);
    for(int i = 0; i < n; i++)
        scanf("%d", &x[i]);
    sort(x, x + n);
    printf("%d\n", x[ (n-1)/2 ]);
    return 0;
}

 

 

 

C. Magic Odd Square(基础构造)

题目大意:给你一个奇数n,然后输出一个幻方什么的?

昂。幻方的解法,组合数学的书里有,翻来覆去就解出来了,很酷。

然后这题好像是个找规律。。你就会发现有块区域放奇数,有一块放偶数就行了。。

#include <cstdio>
#include <cmath>
#include <algorithm>
using namespace std;
typedef long long LL;
const int maxn = 3 * 1e5 + 5;
int x[maxn];
int main()
{
    int n, odd = 1, even = 2;
    scanf("%d", &n);
    int mid = (n + 1) / 2;
    for(int i = 1; i <= n; i++)
    {
        for(int j = 1; j <= n; j++)
        {
            if( abs(i - mid) + abs(j - mid) <= mid - 1)
            {
                printf("%d%c", odd, j == n ? \n :  );
                odd +=2;
            }
            else
            {
                printf("%d%c", even, j == n ? \n :  );
                even +=2;
            }
        }
    }
    return 0;
}

 

 

D

E

F

Educational Codeforces Round 16

标签:

原文地址:http://www.cnblogs.com/luosuo10/p/5858774.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!