Codeforces Round #392 (Div. 2) - C
题目链接: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的更多相关文章
- Codeforces Round #392 (Div. 2) F. Geometrical Progression
原题地址:http://codeforces.com/contest/758/problem/F F. Geometrical Progression time limit per test 4 se ...
- Virtual Codeforces Round #392 (Div. 2)
下午闲来无事开了一场Virtual participation 2h就过了3道水题...又跪了..这只是Div. 2啊!!! 感觉这次直接就是跪在了读题上,T1,T2读题太慢,T3还把题读错了 要是让 ...
- Codeforces Round #392 (Div. 2) - B
题目链接:http://codeforces.com/contest/758/problem/B 题意:给定n个点灯的情况,灯只有四种颜色RBGY,然后如果某个灯坏了则用'!'表示,现在要求将坏的灯( ...
- Codeforces Round #392 (Div. 2) - A
题目链接:http://codeforces.com/contest/758/problem/A 题意:给定N个城市的福利,国王现在想让每个城市的福利都一致.问最少需要花多少钱使得N个城市的福利值都一 ...
- 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 ...
- Codeforces Round #392 (Div. 2)
D题,给出n,k,k是n进制数,但是大于十进制时,它的表示方法仍为十进制那种,比如16进制下的15,我们可以看成就是15,或者1|5,也就是1×16+5 = 21,让你求出能表达的最小十进制数 从后面 ...
- Codeforces Round #392 (Div. 2)-D. Ability To Convert
D - Ability To Convert 题目大意:给你一个数字 n 接下来再输入一个数字 w(<10^60),表示w这个数字是 n 进制的, 并且超过十进制也用数字表示,这样就有多种组合了 ...
- 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 ...
- Codeforces Round #392 (div.2) E:Broken Tree
orz一开始想不画图做这个题(然后脑袋就炸了,思维能力有待提高) 我的做法是动态规划+贪心+构造 首先把题目给的树变成一个可行的情况,同时weight最小 这个可以通过动态规划解决 dp[x]表示以x ...
随机推荐
- WinForm、WPF、ASP.NET窗口生命周期
https://blog.csdn.net/s_521_h/article/details/73826928
- php单点登录实现原理实例详解
单点登录SSO(Single Sign On)说得简单点就是在一个多系统共存的环境下,用户在一处登录后,就不用在其他系统中登录,也就是用户的一次登录能得到其他所有系统的信任. 单点登录在大型网站里使用 ...
- Curl命令、Elinks命令、lynx命令、Wget命令、lftp命令
一.Curl命令 语法 curl(选项)(参数) 选项 -a/--append 上传文件时,附加到目标文件 -A/--user-agent <string> 设置用户代理发送给服务器 -a ...
- div上下左右居中几种方式
1.绝对定位(常用于登录模块)备注:前提条件div需要有宽高 #html <div class="box"></div> #css .box{ positi ...
- HTTP请求时候总是设置的两个参数ConnectionTimeOut和SocketTimeOut
在HTTP请求时候总是设置两个参数,就是连接超时和Socket超时 public static final String SO_TIMEOUT = "http.socket.timeout& ...
- BaseActivity 基类
public abstract class BaseActivity extends AppCompatActivity implements IBaseView { private ProxyAct ...
- 【进阶技术】一篇文章搞掂:OAuth2
一.第一步 1.什么是OAuth2,为什么应该了解 应用程序请求资源所有者进行认证,并接受tokens来访问这些资源应用程序不是以控制资源的“人”的角度去访问资源,而是用许可证举例,备用钥匙,车主主钥 ...
- How to: Create a Windows Communication Foundation Client
How to: Create a Windows Communication Foundation Client To create a Windows Communication Foundatio ...
- 测开之路七十八:shell之函数和参数
函数 function function_name(){ statement1 Statement2 .... statementn} function_name $var1 ...
- 状压DP : [USACO06NOV]玉米田
玉米田 内存限制:128 MiB 时间限制:1000 ms 标准输入输出 题目类型:传统 评测方式:文本比较 题目描述 农场主John新买了一块长方形的新牧场,这块牧场被划分成M行N列(1 ≤ M ≤ ...