A - Bulletin Board

签到。

 #include <bits/stdc++.h>
using namespace std; int main()
{
int n, h, w;
while (scanf("%d%d%d", &n, &h, &w) != EOF)
{
printf("%d\n", (n - h + ) * (n - w + ));
}
return ;
}

B - Contests

签到。

 #include <bits/stdc++.h>
using namespace std; #define N 110
int n, a, b, p[N]; bool check(int x)
{
if (n - x + <= x) return false;
if (p[x] > a) return false;
if (p[n - x + ] <= b) return false;
int cnt = ;
for (int i = x + , j = ; j <= x && i <= n - x; ++i)
{
if (p[i] > b) break;
if (p[i] > a)
{
++j;
++cnt;
}
}
return cnt >= x;
} int main()
{
while (scanf("%d", &n) != EOF)
{
scanf("%d%d", &a, &b);
for (int i = ; i <= n; ++i) scanf("%d", p + i);
sort(p + , p + + n);
int l = , r = n, res = ;
while (r - l >= )
{
int mid = (l + r) >> ;
if (check(mid))
{
l = mid + ;
res = max(res, mid);
}
else
r = mid - ;
}
printf("%d\n", res);
}
return ;
}

C - Alternating Path

Solved

题意:

起点选择一个黑点,终点选择一个白点,如果起点到终点之间存在一条路径是黑、白、黑、白 这样的

那么这一对点就合法,给出一张图,求有多少对合法点对

思路:

将每个点与四周和自己颜色不同的点用并查集并起来,然后同一个连通块的任意一堆黑点和白点都是合法的

 #include <bits/stdc++.h>
using namespace std; #define ll long long
#define N 410
char G[N][N];
int n, m;
int pre[N * N], tot[N * N];
int find(int x) { return pre[x] == ? x : pre[x] = find(pre[x]); }
void join(int u, int v)
{
int fu = find(u), fv = find(v);
if (fu != fv) pre[fu] = fv;
}
int f(int x, int y) { return (x - ) * m + y; }
int Move[][] =
{
-, ,
,-,
};
bool ok(int x, int y)
{
if (x < || x > n || y < || y > m) return false;
return true;
} int main()
{
while (scanf("%d%d", &n, &m) != EOF)
{
for (int i = ; i <= n; ++i) scanf("%s", G[i] + );
memset(pre, , sizeof pre);
memset(tot, , sizeof tot);
for (int i = ; i <= n; ++i) for (int j = ; j <= m; ++j)
{
for (int k = ; k < ; ++k)
{
int nx = i + Move[k][];
int ny = j + Move[k][];
if (ok(nx, ny) && G[i][j] != G[nx][ny]) join(f(i, j), f(nx, ny));
}
}
for (int i = ; i <= n; ++i) for (int j = ; j <= m; ++j) if (G[i][j] == '.')
++tot[find(f(i, j))];
ll res = ;
for (int i = ; i <= n; ++i) for (int j = ; j <= m; ++j) if (G[i][j] == '#') res += tot[find(f(i, j))];
printf("%lld\n", res);
}
return ;
}

D - Nearest Card Game

Unsolved.

题意:

有一个游戏,$B先选择一个整数x$

接着开始游戏

  • A在剩下的数中选择最大的
  • B在剩下的数中选择最接近x的,如果有多个,选择最小的那个

每次询问给出一个x,根据这个策略,求A最后选取的数的总和

AISing Programming Contest 2019 Solution的更多相关文章

  1. AISing Programming Contest 2019 翻车记

    A:签到. #include<iostream> #include<cstdio> #include<cstdlib> #include<cmath> ...

  2. 【AtCoder】AISing Programming Contest 2019

    本来以为是1199rated的..仔细一看发现是1999,所以就做了一下 这场涨分很轻松啊...为啥又没打 等pkuwc考完我一定打一场atcoder(咕咕咕,咕咕咕,咕咕咕咕咕咕咕~) 但是其实我思 ...

  3. KEYENCE Programming Contest 2019 Solution

    A - Beginning 签到. #include <bits/stdc++.h> using namespace std; int main() { ]; while (scanf(& ...

  4. AtCoder AISing Programming Contest 2019 Task D. Nearest Card Game

    题目分析在代码注释里. int main() { #if defined LOCAL && !defined DUIPAI ifstream in("main.in" ...

  5. [AtCoder] NIKKEI Programming Contest 2019 (暂缺F)

    [AtCoder] NIKKEI Programming Contest 2019   本来看见这一场的排名的画风比较正常就来补一下题,但是完全没有发现后两题的AC人数远少于我补的上一份AtCoder ...

  6. [AtCoder] Yahoo Programming Contest 2019

    [AtCoder] Yahoo Programming Contest 2019   很遗憾错过了一场 AtCoder .听说这场是涨分场呢,于是特意来补一下题. A - Anti-Adjacency ...

  7. Yahoo Programming Contest 2019.E.Odd Subrectangles(思路 线性基)

    题目链接 \(Description\) 给定一个\(n\times m\)的\(01\)矩阵.求任意选出\(r\)行.\(c\)列(共\(2^{n+m}\)种方案),使得这\(r\)行\(c\)列的 ...

  8. ACM ICPC, Amman Collegiate Programming Contest (2018) Solution

    Solution A:Careful Thief 题意:给出n个区间,每个区间的每个位置的权值都是v,然后找长度为k的区间,使得这个区间的所有位置的权值加起来最大,输出最大权值, 所有区间不重叠 思路 ...

  9. AtCoder NIKKEI Programming Contest 2019 C. Different Strokes (贪心)

    题目链接:https://nikkei2019-qual.contest.atcoder.jp/tasks/nikkei2019_qual_C 题意:给出 n 种食物,Takahashi 吃下获得 a ...

随机推荐

  1. python2.0_s12_day12_css样式详解

    CSScss是英文Cascading Style Sheets的缩写,称为层叠样式表,用于对页面进行美化. CSS 存放方式有三种: 一种写法:在<body></body>内部 ...

  2. kafka中配置细节

    今天遇到kafka发送消息的时候,一直报Kafka“Failed to send messages after 3 tries”错误,根据网上找问题,修改各种配置参数,各种重启,还是解决不了问题. 郁 ...

  3. ch4-持久存储

    1.处理数据和打印 man = [] other = [] try: data = open('sketch.txt') for each_line in data: try: (role, line ...

  4. INSTALL_FAILED_INVALID_APK

    在项目中无意中把APP只写成了 xxx  没有xxx.xxx.xxx  掉坑里了,找了好久,给大家提不醒

  5. cstring、string、wstring、int、char*、tchar、 int、dword等相互转换代码输出测试

    #include <string> #include <tchar.h> // _TCHAR #include <stdlib.h> #include <io ...

  6. 在centos命令行下安装软件

    考虑到用linux纯命令行模式时,通常都是用作服务器,所以,一般主要是安装一个php.mysql.apache的集成环境和ftp服务器,在这里用xampp集成包即可解决所有问题,在这里说一下我自己的做 ...

  7. img-图片二进制流 64位前端显示

    碰到的场景:因为使用iframe子窗口打开,多张的二维码图片创建方法调用,导致页面打开缓慢, 所以将调取方式转换成<img src="data:image/png;base64,@it ...

  8. 在android真机上使用sqlite3

    #zijun#2013.10.29#QQ:223663737 在android真机上使用sqlite3 前期准备: 1:保证手机已经ROOT 操作步骤: 1 : 打开CMD 2 : 进入android ...

  9. 【BZOJ1818】[Cqoi2010]内部白点 扫描线+树状数组

    [BZOJ1818][Cqoi2010]内部白点 Description 无限大正方形网格里有n个黑色的顶点,所有其他顶点都是白色的(网格的顶点即坐标为整数的点,又称整点).每秒钟,所有内部白点同时变 ...

  10. Xcode里修改工程名、类名、批量修改变量名

    转:http://blog.csdn.net/yuedong56/article/details/13767001 一.修改工程名: 1.点击工程,右键,选择如图选项. 2.右侧如图位置,修改工程名. ...