标签:
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 }
题目大意:给你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; }
题目大意:给你一个奇数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; }
Educational Codeforces Round 16
标签:
原文地址:http://www.cnblogs.com/luosuo10/p/5858774.html