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 ...
随机推荐
- B/S文件断点上传
一.概述 所谓断点续传,其实只是指下载,也就是要从文件已经下载的地方开始继续下载.在以前版本的HTTP协议是不支持断点的,HTTP/1.1开始就支持了.一般断点下载时才用到Range和Content- ...
- stack1顺序栈
顺序栈 #include<iostream> using namespace std; #define increasesize 10 template <class Object& ...
- SQLite多线程下的并发操作
标签: sqlite多线程数据库跨平台嵌入式class 2011-04-14 13:29 26939人阅读 评论(2) 收藏 举报 这两天一直在捣鼓SQLite数据库,基本的操作就不说了,比较简单,打 ...
- QQ空间分享网址
现在大部分网站都在每个界面设计了分享这个功能,但还是有的网页没有(比如 B 站只能分享具体的视频).在原来的 QQ 空间分享的地方已经找不到法自己创建分享.上网一搜有分享的接口,可这个接口是给开发者用 ...
- Flask 重定向到动态url
url_for() 函数是动态构建一个网址给特定的功能是非常有用的.该函数接受函数的名称作为第一个参数,并接受一个或多个关键字参数,每个参数对应于URL的变量部分. 以下脚本演示了使用 url_for ...
- Ubuntu 18.04 截图工具-flameshot(安装及使用)
安装flameshot:https://github.com/lupoDharkael/flameshot 安装命令: sudo apt-get install flameshot 设置>设备& ...
- ScriptControl接口
http://www.cnblogs.com/railgunman/articles/1824304.html BAIDU一下ScriptControl,大多数都是“Delphi中ScriptCont ...
- Entity Framework Code First (五)Fluent API - 配置关系 转载 https://www.cnblogs.com/panchunting/p/entity-framework-code-first-fluent-api-configuring-relationships.html
上一篇文章我们讲解了如何用 Fluent API 来配置/映射属性和类型,本文将把重点放在其是如何配置关系的. 文中所使用代码如下 public class Student { public int ...
- Vagrant 手册之 Vagrantfile - 机器设置 config.vm
原文地址 配置的命名空间:config.vm config.vm 中的设置修改 Vagrant 管理的机器的配置. 1. 可用的设置项 config.vm.boot_timeout Vagrant 等 ...
- no suitable ctr exists to convert from 'int' to 'std::basic_string<char,std::char_traits<char>,std::allocator<char> >
int xfun(int *a,int n) { int x = *a;//a的类型是int *,a+1跳动一个int的长度 ; pa < a + n; pa++)//指向同一个类型的指针比较大 ...