题目链接:http://codeforces.com/problemset/problem/32/C

本文链接:http://www.cnblogs.com/Ash-ly/p/5513436.html

题意:

  给你一个M*N的方格,有一个青蛙每次只能跳S步,问能够跳最多次数的起点有多少个.

思路:

  首先,第一个格子肯定是可以作为起点的,那么往下能跳的点数为(M - 1) / S +1,往右能跳的点数为(N - 1) / S +1,这些点又都可以各自作为起点,所以假设以第一个格子为起点那么起点的个数应该为 ( (M - 1) / S +1 ) * (  (N - 1) / S +1 ),那么这些路径可以想象成构成了一个矩形,这个矩形可以往下平移,往下平移的个数为row = M - (M - 1) / S * S +1(注:其中(M - 1) / S * S +1为向下走的格子数),也可以往右平移,且个数为line = N - (N - 1) / S * S +1, 也可以往右下方平移,个数为line * row;再加上自己本身的1个,那么总个数为(row + line +  row * line + 1),每个又有 ( (M - 1) / S +1 ) * (  (N - 1) / S +1 )个起点,所以总数为 ( (M - 1) / S +1 ) * (  (N - 1) / S +1 ) * (row + line +  row * line + 1).当N和M都不大于S时,答案为N*M.

代码:

 1 #include <iostream>
 2 #include <cmath>
 3 #include <cstdio>
 4 #include <cstring>
 5 #include <cstdlib>
 6 #include <algorithm>
 7 #include <string>
 8 #include <queue>
 9 #include <stack>
10 #include <vector>
11 #include <map>
12 using namespace std;
13 typedef long long LL;
14 int main()
15 {
16     //freopen("input.txt", "r", stdin);
17     LL m, n, s;
18     while(cin >> m >> n >> s){
19         LL row =  m - (1 + (m - 1) / s * s);//向下平移的种类数
20         LL line = n - (1 + (n - 1) / s * s );//向右平移的种类数
21         LL Rpoint = (n - 1) / s + 1 ;
22         LL Lpoint =  (m - 1)/ s + 1;//Rpoint * Lpoint为以第一个格子为起点时起点的个数
23         if(s >= max(m, n)) {cout << n * m <<endl;continue;}//这种情况特判
24         cout << (row + line + (row * line) + 1)  * (Rpoint * Lpoint)  <<  endl;
25     }
26     return 0;
27 }

转载于:https://www.cnblogs.com/Ash-ly/p/5513436.html

CodeForces 32C Flea相关推荐

  1. Codeforce Flea CodeForces - 32C 规律|思维

    题意 给我们一个n*m的表格 告诉我们每次跳跃的格子数量s 只能垂直或者水平跳跃 可以跳跃无限次 那么某格子能到达的不同格子的数量就是这个格子的值 求表格中值最大的格子的数量 分析 表面上看像是搜索 ...

  2. codeforces 1181C

    原题http://codeforces.com/problemset/problem/1181/C C. Flag time limit per test 2 seconds memory limit ...

  3. CodeForces 375D Tree and Queries

    传送门:https://codeforces.com/problemset/problem/375/D 题意: 给你一颗有根树,树上每个节点都有其对应的颜色,有m次询问,每次问你以点v为父节点的子树内 ...

  4. 「日常训练」Bad Luck Island(Codeforces Round 301 Div.2 D)

    题意与分析(CodeForces 540D) 是一道概率dp题. 不过我没把它当dp做... 我就是凭着概率的直觉写的,还好这题不算难. 这题的重点在于考虑概率:他们喜相逢的概率是多少?考虑超几何分布 ...

  5. 【codeforces 812C】Sagheer and Nubian Market

    [题目链接]:http://codeforces.com/contest/812/problem/C [题意] 给你n个物品; 你可以选购k个物品;则 每个物品有一个基础价值; 然后还有一个附加价值; ...

  6. CodeForces 获得数据

    针对程序的输出可以看见 CodeForces :当输入.输出超过一定字符,会隐藏内容 所以:分若干个程序进行输入数据的获取 1. 1 for (i=1;i<=q;i++) 2 { 3 scanf ...

  7. codeforces水题100道 第二十七题 Codeforces Round #172 (Div. 2) A. Word Capitalization (strings)...

    题目链接:http://www.codeforces.com/problemset/problem/281/A 题意:将一个英文字母的首字母变成大写,然后输出. C++代码: #include < ...

  8. CodeForces 595A

    题目链接: http://codeforces.com/problemset/problem/595/A 题意: 一栋楼,有n层,每层有m户,每户有2个窗户,问这栋楼还有多少户没有睡觉(只要一个窗户灯 ...

  9. codeforces A. Jeff and Digits 解题报告

    题目链接:http://codeforces.com/problemset/problem/352/A 题目意思:给定一个只有0或5组成的序列,你要重新编排这个序列(当然你可以不取尽这些数字),使得这 ...

  10. Codeforces Round #506 (Div. 3)

    Codeforces Round #506 (Div. 3) 实习期间事不多,对div3 面向题解和数据编程了一波 A. Many Equal Substrings 题目链接 A题就是找后缀和前缀重合 ...

最新文章

  1. div布局的几点体会
  2. 冲刺第九天 12.5 WED
  3. 1020. 月饼 (25)
  4. node升级版本后vue报错
  5. Git学习笔记:分支管理(2)
  6. Fragment要点复习
  7. AAAI 2018论文解读 | 基于文档级问答任务的新注意力模型
  8. 自断前程,未来80%IT工作将实现自动化
  9. Qt工作笔记-使用SQL中的LIMIT进行数据分页
  10. mysql from_unixtime(_MySQL 数据库中日期与时间函数 FROM_UNIXTIME(), UNIX_TIME()
  11. 联想服务器虚拟化解决方案,联想虚拟化解决方案
  12. 我的世界java边境之地_《我的世界》:手机版的边境之地你绝对没见过!那里方块只有空壳?...
  13. Unity 透视相机世界和屏幕坐标系转换
  14. 百度地图坐标系统解析
  15. Mind map of holistic learning by Scott Young
  16. 【洛谷】P3957 [NOIP2017 普及组] 跳房子
  17. ISP—自动白平衡(AWB)
  18. 手机传输文件服务器,手机文件传输到服务器
  19. 【财务管理论文】大数据背景下企业财务管理的挑战与机遇(节选)
  20. 什么!脑机接口可让中风患者快速,准确的打字?

热门文章

  1. 百度工程能力白皮书--对工程能力永无止境的追求
  2. party_bid_core三种数据结构分析
  3. 【整理】GOS附件的上传与下载
  4. 阿里云域名注册+网站备案
  5. USB转串口电路之CH340G
  6. python重命名列名_Pandas对列进行重命名
  7. scrapy实战--爬取腾讯的招聘信息
  8. 物流行业如何利用智慧物流体系实现转型升级?
  9. smoothdraw4_使用SmoothDraw享受徒手绘制和图像修改
  10. 怎么把视频变成GIF