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. [转载]Linux I/O 调度方法

    http://scoke.blog.51cto.com/769125/490546 IO调度器的总体目标是希望让磁头能够总是往一个方向移动,移动到底了再往反方向走,这恰恰就是现实生活中的电梯模型,所以 ...

  2. VS2015编译JPEG9b源码

    输入:nmake -f makefile.vc libjpeg.lib 出现错误:找不到win32.mak文件 按照网上说的,这个win32.mak可以在C:\Program Files (x86)\ ...

  3. 基于Cocos2d-x学习OpenGL ES 2.0系列——OpenGL ES渲染之Shader准备(7)

    Cocos2d-x底层图形绘制是使用OpenGL ES协议的.OpenGL ES是什么呢? OpenGL ES(OpenGl for Embedded System)是OpenGL三维图形API的子集 ...

  4. block基本使用和底层

    block基础使用语法   一.block与函数的对比 定义函数指针 int (*myFn)(); 定义Blocks int (^MyBlocks)(int,int); 调用函数指针 (*myFn)( ...

  5. MUI Hbuilder设置模拟器运行APP项目

    1 安装hbuilder和夜神模拟器 2 hbuilder  新建app项目 3 hbuilder:运行-> 设置web服务器->Hbuilder 第三方安卓模拟器端口:62001 4 运 ...

  6. hihocoder [Offer收割]编程练习赛14 剑刃风暴

    题目4 : 剑刃风暴 时间限制:20000ms 单点时限:2000ms 内存限制:256MB 描述 主宰尤涅若拥有一招非常厉害的招式——剑刃风暴,“无论是战士还是法师,都害怕尤涅若的武士刀剑技”. 现 ...

  7. C# 验证码生成

    后台: //生成验证码 public void CreateImage() { //获取4位验证码,并转成小写. ).ToLower(); //验证码赋值Cookie HttpCookie myCoo ...

  8. C#IIS网站应用程序池启动回收停止 .

    //添加应用程序池空间引用using System.DirectoryServices;using System.Text; using System.Text.RegularExpressions; ...

  9. 企业服务的3种模式:On-Premise、SaaS、Mixed,该选哪种?--创业邦

    B轮融资二三事 我们从9月份开始启动B轮融资,与这些颇具洞察力的投资人聊天,是非常有挑战的事.他们的很多观点充满智慧,能帮你突破思考局限,受益良多.当然,整个过程虽然有趣但也不轻松,毕竟你的目的是完成 ...

  10. 微信小程序 --- 事件绑定

    事件类别: tap:点击事件: longtap:长按事件: touchstart:触摸开始: touchend:触摸结束: touchcansce:取消触摸: 事件绑定: bind绑定: catch绑 ...