codeforces A. Table 解题报告
题目链接:http://codeforces.com/problemset/problem/359/A
题目意思:给出一个n行m列的table,你需要选择一个good cell(假设为(x, y), 1<=x <=n,1<=y <=m)和任意的一个corner((1, 1), (n, 1), (1, m), (n, m)),此时你可以把这个good cell 和 corner所围住的区域上色,这个区域(p, q)满足 min(good cell的横坐标,corner的横坐标) ≤ p ≤ max(good cell的横坐标,corner的横坐标), min(good cell的纵坐标,corner的纵坐标) ≤ q ≤ max(good cell的纵坐标,corner的纵坐标).。需要找出一个上色方案并输出总共需要的次数。当然,已上色的区域可以重复再上色。
首先考虑特殊的位置,第1行、第1列、第n行、第m列。只要满足有一个good cell在这些位置,则上色次数最少是2次(离它最远的两个corner)。
接着是考虑一般的位置,也就是除第1行、第1列、第n行、第m列的位置里有good cell,那么要分两种情况讨论:1、特殊位置里也有good cell(最少次数为2次);2、特殊位置里没有good cell(最少次数为4次)
#include <iostream>
#include <cstdio>
#include <cstdlib>
using namespace std; int main()
{
int i, j, n, m, t, f2, f;
while (scanf("%d%d", &n, &m) != EOF)
{
// freopen("in.txt", "r", stdin);
f2 = f = ;
for (i = ; i <= n; i++)
{
for (j = ; j <= m; j++)
{
scanf("%d", &t);
if (t == && (i == || j == || i == n || j == m) && !f2) // good cell在特殊位置里
{
f = ;
f2 = ;
}
}
}
if (f2)
printf("2\n");
else
printf("4\n");
}
return ;
}
codeforces A. Table 解题报告的更多相关文章
- codeforces 582A. GCD Table 解题报告
题目链接:http://codeforces.com/problemset/problem/582/A 网上很多题解,就不说了,直接贴代码= = 官方题解: http://codeforces.com ...
- codeforces 31C Schedule 解题报告
题目链接:http://codeforces.com/problemset/problem/31/C 题目意思:给出 n 个 lessons 你,每个lesson 有对应的 起始和结束时间.问通过删除 ...
- codeforces 499B.Lecture 解题报告
题目链接:http://codeforces.com/problemset/problem/499/B 题目意思:给出两种语言下 m 个单词表(word1, word2)的一一对应,以及 profes ...
- codeforces 495C. Treasure 解题报告
题目链接:http://codeforces.com/problemset/problem/495/C 题目意思:给出一串只有三种字符( ')','(' 和 '#')组成的字符串,每个位置的这个字符 ...
- codeforces 490B.Queue 解题报告
题目链接:http://codeforces.com/problemset/problem/490/B 题目意思:给出每个人 i 站在他前面的人的编号 ai 和后面的人的编号 bi.注意,排在第一个位 ...
- CodeForces 166E -Tetrahedron解题报告
这是本人写的第一次博客,学了半年的基础C语言,初学算法,若有错误还请指正. 题目链接:http://codeforces.com/contest/166/problem/E E. Tetrahedro ...
- codeforces 489A.SwapSort 解题报告
题目链接:http://codeforces.com/problemset/problem/489/A 题目意思:给出一个 n 个无序的序列,问能通过两两交换,需要多少次使得整个序列最终呈现非递减形式 ...
- codeforces 485A.Factory 解题报告
题目链接:http://codeforces.com/problemset/problem/485/A 题目意思:给出 a 和 m,a 表示第一日的details,要求该日结束时要多生产 a mod ...
- codeforces 483A. Counterexample 解题报告
题目链接:http://codeforces.com/problemset/problem/483/A 题目意思:给出一个区间 [l, r],要从中找出a, b, c,需要满足 a, b 互质,b, ...
随机推荐
- hihocoder 1181 欧拉路.二
传送门:欧拉路·二 #1181 : 欧拉路·二 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 在上一回中小Hi和小Ho控制着主角收集了分散在各个木桥上的道具,这些道具其 ...
- UVa OJ 197 - Cube (立方体)
Time limit: 30.000 seconds限时30.000秒 Problem问题 There was once a 3 by 3 by 3 cube built of 27 smaller ...
- chrome 阻止跨域操作的解决方法 --disable-web-security
做chrome插件时,遇到https页面上请求htttp页面资源时被blocked的问题,初苦寻解决方法未果,最后找到: 给chrome加上 --disable-web-security 参数
- 锋利的jQuery-3--用js给多选的checkbox或者select赋值
单选的select: <select id="single"> <option>Single</option> <option>Si ...
- SQL2005之SA提权总结
首先,看看xp_cmdshell存在不,不存在的话先恢复下. Exec sp_configure 'show advanced options',1;RECONFIGURE;EXEC sp_confi ...
- C# 排序算法记录
class Program { static void Main(string[] args) { , , , , , , , , -, , , }; //假设一个最小的值 ]; ; i < a ...
- ES+Hbase对接方案概述
方案背景 Hbase的索引方案有很多,越来越多的人开始选择ES+Hbase的方案,其实该方案并没有想象中那么完美,ES并发低,同时查询速度相对Hbase也慢很多,那为什么会选择他呢,它的写入比较快,如 ...
- ZLIB 库
zlib 编辑 zlib是提供数据压缩用的函式库,由Jean-loup Gailly与Mark Adler所开发,初版0.9版在1995年5月1日发表.zlib使用DEFLATE算法,最初是为libp ...
- C函数tolower,与toupper
tolower 将大写转换成小写. 非字母字符不做出处理. 这个函数用法有点特殊他是处理字符的,而不是处理字符串的. 所谓的不能处理字符串不是说他不能处理字符串,他处理的时候对字符串必须是 ...
- linux读写ntfs
frankly speaking, i hope to get a higher salary. yours frankly= yours sincerely = sincerely yours =y ...