题目链接:http://codeforces.com/contest/758/problem/C

题意:给定N*M矩阵的教室,每个位置都有一个学生,Sergei坐在[X,Y],然后老师会问K个问题,对于行而言问的顺序是从第一行,第二行。。。第N行,第N-1行。。。第二行,第一行然后重复。对于列而言问的顺序都是从左到右,现在问你最后问完K个问题后,被提问的最多的同学的次数是多少,被提问的最少的同学的次数是多少,Sergei被提问的次数是多少。

思路:由于k的范围太大,所以不能一个一个模拟,考虑下循环节。 我们以1.2.3...n.n-1...3.2位一个循环节,那么除了第一行和最后一行的人被问过一次之外,中间的都被问过两次,一次循环的人数为(n-2)*m,所以共循环了k/(n-2)*m次,剩余的(不超过(n-2)*m个)直接暴力模拟即可,最后再扫一遍即可得到答案。

注意当n=1或者n=2时要特殊处理。

import java.io.PrintWriter;
import java.util.*; public class Main {
public static final int MAXN=100+5;
public static long v[][]=new long [MAXN][MAXN];
public static void main(String[] args) {
Scanner cin = new Scanner(System.in);
PrintWriter out = new PrintWriter(System.out);
int n=cin.nextInt(),m=cin.nextInt();
long k=cin.nextLong();
int x=cin.nextInt(),y=cin.nextInt();
for(int i=0;i<MAXN;i++){
Arrays.fill(v[i], 0);
}
if(n==1||n==2){
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
v[i][j]=k/(n*m);
}
}
k=k%(n*m);
for(int i=1;i<=n&&k>0;i++){
for(int j=1;j<=m&&k>0;j++){
v[i][j]++; k--;
}
}
}
else{
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
if(i==1||i==n){
v[i][j]=k/((n+n-2)*m);
}
else{
v[i][j]=k/((n+n-2)*m)*2;
}
}
}
k=k%((n+n-2)*m);
for(int i=1;i<=n&&k>0;i++){
for(int j=1;j<=m&&k>0;j++){
v[i][j]++; k--;
}
}
for(int i=n-1;i>=1&&k>0;i--){
for(int j=1;j<=m&&k>0;j++){
v[i][j]++; k--;
}
}
}
long maxv=-1,minv=Long.MAX_VALUE;
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
maxv=Math.max(maxv,v[i][j]);
minv=Math.min(minv, v[i][j]);
}
}
out.println(maxv+" "+minv+" "+v[x][y]);
cin.close();
out.flush();
}
}

Codeforces Round #392 (Div. 2) - C的更多相关文章

  1. Codeforces Round #392 (Div. 2) F. Geometrical Progression

    原题地址:http://codeforces.com/contest/758/problem/F F. Geometrical Progression time limit per test 4 se ...

  2. Virtual Codeforces Round #392 (Div. 2)

    下午闲来无事开了一场Virtual participation 2h就过了3道水题...又跪了..这只是Div. 2啊!!! 感觉这次直接就是跪在了读题上,T1,T2读题太慢,T3还把题读错了 要是让 ...

  3. Codeforces Round #392 (Div. 2) - B

    题目链接:http://codeforces.com/contest/758/problem/B 题意:给定n个点灯的情况,灯只有四种颜色RBGY,然后如果某个灯坏了则用'!'表示,现在要求将坏的灯( ...

  4. Codeforces Round #392 (Div. 2) - A

    题目链接:http://codeforces.com/contest/758/problem/A 题意:给定N个城市的福利,国王现在想让每个城市的福利都一致.问最少需要花多少钱使得N个城市的福利值都一 ...

  5. Codeforces Round #392 (Div. 2)-758D. Ability To Convert(贪心,细节题)

    D. Ability To Convert time limit per test 1 second Cmemory limit per test 256 megabytes input standa ...

  6. Codeforces Round #392 (Div. 2)

    D题,给出n,k,k是n进制数,但是大于十进制时,它的表示方法仍为十进制那种,比如16进制下的15,我们可以看成就是15,或者1|5,也就是1×16+5 = 21,让你求出能表达的最小十进制数 从后面 ...

  7. Codeforces Round #392 (Div. 2)-D. Ability To Convert

    D - Ability To Convert 题目大意:给你一个数字 n 接下来再输入一个数字 w(<10^60),表示w这个数字是 n 进制的, 并且超过十进制也用数字表示,这样就有多种组合了 ...

  8. Codeforces Round #392 (Div. 2) A B C 水 模拟 暴力

    A. Holiday Of Equality time limit per test 1 second memory limit per test 256 megabytes input standa ...

  9. Codeforces Round #392 (div.2) E:Broken Tree

    orz一开始想不画图做这个题(然后脑袋就炸了,思维能力有待提高) 我的做法是动态规划+贪心+构造 首先把题目给的树变成一个可行的情况,同时weight最小 这个可以通过动态规划解决 dp[x]表示以x ...

随机推荐

  1. python——解释型语言

    编程语言分三大类   :  低级语言  .  汇编语言 .   高级语言. 现代计算机都是基于  图灵机模型 制造的.  因此计算机的内部只能接受二进制数据.而用二进制代码  0  1  描述的指令叫 ...

  2. docker运行spring boot 包镜像出现no main manifest attribute问题

    问题: 在进行docker部署的时候,开始对项目进行打包,在启动该镜像时 [root@topcheer docker]# docker run -it 00494e3d4550no main mani ...

  3. c#image与byte数组的转换

    // image to byte[] Image photo = new Bitmap(selectPictureFile); System.IO.MemoryStream ms = new Syst ...

  4. linux中awk 详解

    一.awk简介 awk是一个非常好用的数据处理工具,相对于sed常常作用于一整个行的处理,awk则比较倾向于一行当中分成数个[字段]处理,因此,awk相当适合处理小型的数据数据处理.awk是一种报表生 ...

  5. jmeter常用组件简介

    本文主要介绍jmeter使用过程中最常用的一些组件及其作用.性能测试时线程组中可以添加如下的组件,如图所示: test plan:测试计划,是其它组件的容器 thread:线程组,用来设置多少线程,怎 ...

  6. 【SpringBoot】 Java中如何封装Http请求,以及JSON多层嵌套解析

    前言 本文中的内容其实严格来说不算springboot里面的特性,属于JAVA基础,只是我在项目中遇到了,特归纳总结一下. HTTP请求封装 目前JAVA对于HTTP封装主要有三种方式: 1. JAV ...

  7. Android7.0后JNI库必须保留Section Headers

    此修改在官网的描述如下: Each ELF file has additional information contained in the section headers. These header ...

  8. day16—正是Github,让社会化编程成为现实。

    转行学开发,代码100天——2018-04-01 今天简单了解了一下GitHub的使用. 对于GitHub,在很多年前开始写程序的时候就频繁听到,也早早地注册之后看了真容.但是由于自己一直未产出较大型 ...

  9. day05—JavaScript之函数调用

    转行学开发,代码100天——2018-03-21 JavaScript中的函数调用有4种方式: 方式一:直接通过函数名调用 在 HTML 中默认的全局对象是 HTML 页面本身,所以函数是属于 HTM ...

  10. TensorFlow学习笔记1-入门

    TensorFlow学习笔记1-入门 作者: YunYuan *** 写在前面 本笔记是我学习TensorFlow官方文档中文版的读书笔记,由于尚未搭建好Github的个人博客的评论功能,故尚不方便与 ...