原题链接 位于CodeForceshttps://codeforces.com/problemset/problem/675/B

翻译

小 V 在玩填数游戏,游戏在 3×3 的正方形中进行。

  • 9 个格子中的数字都为 1∼n 的整数,不同格子中的数字可以相同。
  • 正方形可以划分出 4 个 2×2 的小正方形,这四个正方形中的数之和相同。
  • 如图所示,a, b, c, d 的值是已知的。

现在 小 V 想知道,剩下的 5 个数一共有多少种填法。

题意及思路

可以很容易得到,四周数字的填写与中间数字无关,因而我们枚举中间数 e 为1~n

所以可以知道每次枚举e时,a,b,c,d,e是固定值,因而四周数的相对差是相同的

所以根据n的大小得出四周数的范围,因为四个方块的和相同,则与:a+b, a+c, b+d, c+d有关

经过分析,四周数的范围与其中的 最大值max 与 最小值min 有关

范围大小是最大和减最小和加一,可以得出每次枚举的四周数范围为n-(max-min+1)+1

因为我们知道当差值过大以至于大于n时没有答案,所以每次枚举结果为max(n-(max-min+1)+1, 0)

因为枚举中间数, 所以次数即为n,答案为 n * max(n-(max-min+1)+1, 0)

#include <bits/stdc++.h>
using namespace std;int main()
{int i, j, t;int a, b, c, d;long long n;scanf("%lld%d%d%d%d", &n, &a, &b, &c, &d);int xmax = max(max(a+b, a+c),max(b+d, c+d));int xmin = min(min(a+b, a+c),min(b+d, c+d));printf ("%lld", n * max<long long>(n - (xmax - xmin + 1) + 1, 0));// 此处需用“longlong的max”,因为答案包含longlong数return 0;
}

B. Restoring Painting CodeForces - 675B相关推荐

  1. Restoring Permutation CodeForces - 1315C(思维)

    You are given a sequence b1,b2,-,bn. Find the lexicographically minimal permutation a1,a2,-,a2n such ...

  2. Codeforces Round #353 (Div. 2)

    数学 A - Infinite Sequence 等差数列,公差是0的时候特判 #include <bits/stdc++.h>typedef long long ll; const in ...

  3. java 获取自定义参数类型_Springboot中使用自定义参数注解获取 token 中用户数据...

    使用自定义参数注解获取 token 中User数据 使用背景 在springboot项目开发中需要从token中获取用户信息时通常的方式要经历几个步骤 拦截器中截获token TokenUtil工具类 ...

  4. 2020 BUPT Winter Training #1 Div.1

    2020 BUPT Winter Training #1 Div.1 这些题真的很不错 读完题一道都不会 补完每一道都骂自己sb 文章目录 [A - Cover it!](https://vjudge ...

  5. Codeforces Round #700 (Div. 2) D2 Painting the Array II(最通俗易懂的贪心策略讲解)看不懂来打我 ~

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 整场比赛的A ~ E 6题全,全部题目超高质量题解链接: Codeforces Round #700 ...

  6. CodeForces - 1480D2 Painting the Array II(dp)

    题目链接:点击查看 题目大意:给出一个长度为 nnn 的序列,现在要求拆分成两个子序列,使得两个子序列的贡献之和最 小.对于一个序列的贡献就是,去掉相邻且相同的字母后的长度,即 ∑i=1n[a[i]! ...

  7. CodeForces - 1480D1 Painting the Array I(贪心)

    题目链接:点击查看 题目大意:给出一个长度为 nnn 的序列,现在要求拆分成两个子序列,使得两个子序列的贡献之和最 大.对于一个序列的贡献就是,去掉相邻且相同的字母后的长度,即 ∑i=1n[a[i]! ...

  8. Codeforces 448C Painting Fence:分治

    题目链接:http://codeforces.com/problemset/problem/448/C 题意: 有n个木板竖着插成一排栅栏,第i块木板高度为a[i]. 你现在要将栅栏上所有地方刷上油漆 ...

  9. [CodeForces 300D Painting Square]DP

    http://codeforces.com/problemset/problem/300/D 题意:每一次操作可以选一个正方形,令边长为n,如果n为奇数那么可以从中间画一个十字,分成4个大小相等的边长 ...

最新文章

  1. MySQL增量订阅消费组件Canal POC
  2. 一文读懂你该了解的5G知识:现在别买5G手机
  3. admin及admin888 经过 md5加密后16位和32位代码
  4. 【转】QT 串口QSerialPort + 解决接收数据不完整问题
  5. win服务器系统程序原因分析
  6. 2月末周全球域名解析商Top15:万网DNSPod份额均上涨
  7. 程序员如何理解Gmail“撤销发送”功能
  8. Python实现 QQ 半自动发送情话,我追到了女神
  9. php设计模式 — 单例模式(singleton)
  10. yum的更多用法和源码编译安装apache
  11. nvidia显示设置不可用_白送大福利?实战FreeSync显示器开启NVIDIA G-Sync Compatible
  12. 简单高效实现导出excel数据表格
  13. yeahnet邮箱服务器,网易126/163/Yeah.net免费邮箱开放IMAP服务
  14. 以图搜图 图像匹配_以图搜图是什么 如何实现以图搜图
  15. C语言 输入一个不大于五位的数字,先判断是几位数字,然后将其数字顺序输出和逆序输出
  16. python实现位置定位_python定位位置
  17. Jolla 超额完成开源平板电脑众筹
  18. Baxter学习笔记6-鼠标点动控制baxter机械臂--实战篇
  19. summernote 的快速使用,以及解决图片写入数据库问题
  20. 视频教程-ShardingSphere:SpringBoot2+MybatisPlus读写分离+分表-Java

热门文章

  1. C语言常用字符串函数及模拟实现
  2. 女人的十大幼稚想法!!!
  3. String类型转换为Long类型
  4. zblog网站副标题去掉短线 - 桃源侠
  5. YOLO v5 python版本TensorRT推理
  6. 3D建模高模正确的规范提交要求,你get到了吗
  7. 计算机教学中的核心素养,浅谈信息技术教学中学科核心素养的体现
  8. remap的困惑说明
  9. 期货做空的作用及期货做空的含义
  10. 概念理解:计算机中的“句柄”是什么意思?