[原]sdut2624 Contest Print Server (大水+大坑)山东省第四届ACM省赛
本文出自:http://blog.csdn.net/svitter
原题:http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=2624
题意:为什么每次都是我做这么坑爹的题目TAT
一开始的名字我在想名字有没有空格,就像是之前
Sdut2411 Pixel density 山东省第三届ACM省赛(输入输出字符串处理)
这道题目,以至于第一篇WA我根本想不出到底是name的问题还是其他方面的问题。后来证明果然是没读懂题意,哎,坑爹啊。
给你五个数 n,s, x, y , mod,然后输入n行数据,以Team_name +"request"+num+"pages."的形式给你。
然后就出现坑了。
这句话。the printer will break down when the printed pages counter reached s(s is generated by the function s=(s*x+y)%mod ) and then the
counter will become 0. In the same time the last request will be reprint from the very begin if it isn't complete yet(The data guaranteed that every request will be completed in some time).
我的理解是,每当数量达到s,那么调用生成函数生成新的s,如果之前的没有打印完,那么重新全部打印出来。
但是事实上,是超过s的话,那么。。。。。。下面是我的AC代码,if前面的注释就是我先前的代码,问题就出在只要到达s(正好等于也算),那么就更新s。= =然后我就呵呵的WA了。(这两个的差距就在于是否多输出一个0.)
- -结合实践的话确实也能想明白- -就是你正好打完了你还更新s干什么。。。
下面是两个思路的AC代码:
- //============================================================================
- // Name : 省赛字符串.cpp
- // Author : Vit
- // Version :
- // Copyright : Your copyright notice
- // Description : Hello World in C++, Ansi-style
- //============================================================================
- #include <iostream>
- #include <stdio.h>
- #include <string.h>
- using namespace std;
- struct Team
- {
- char name[21];
- int num;
- };
- Team te[102];
- int n, s, x, y, mod;
- void update(int &s)
- {
- s = ((s * x) % mod + y % mod) % mod;
- if(s == 0)
- update(s);
- }
- void print(int i)
- {
- printf("%d pages for %s\n", te[i].num, te[i].name);
- }
- void print(int i, int num)
- {
- printf("%d pages for %s\n", num, te[i].name);
- }
- void ace()
- {
- //work point
- int i, t;
- //num;
- //freopen("test", "r", stdin);
- scanf("%d", &t);
- while (t--)
- {
- //input data
- scanf("%d%d%d%d%d", &n, &s, &x, &y, &mod);
- for (i = 0; i < n; i++)
- {
- scanf("%s request %d pages", te[i].name, &te[i].num);
- }
- int sum = 0;
- //handle data
- for (i = 0; i < n; i++)
- {
- sum += te[i].num;
- // if(sum == s)
- // {
- // print(i)
- // update(s);
- // sum = 0;
- // }
- // else
- if(sum > s)
- {
- print(i, te[i].num + (s - sum));
- update(s);
- sum = 0;
- i--;
- }
- else
- {
- print(i);
- }
- } //end of i
- printf("\n");
- } // end of t;
- }
- int main()
- {
- ace();
- return 0;
- }
第二种:
- //============================================================================
- // Name : 省赛字符串.cpp
- // Author : Vit
- // Version :
- // Copyright : Your copyright notice
- // Description : Hello World in C++, Ansi-style
- //============================================================================
- #include <iostream>
- #include <stdio.h>
- #include <string.h>
- using namespace std;
- struct Team
- {
- char name[21];
- int num;
- };
- Team te[102];
- int n, s, x, y, mod;
- void update(int &s)
- {
- s = ((s * x) % mod + y % mod) % mod;
- if(s == 0)
- update(s);
- }
- void print(int i)
- {
- printf("%d pages for %s\n", te[i].num, te[i].name);
- }
- void print(int i, int num)
- {
- printf("%d pages for %s\n", num, te[i].name);
- }
- void ace()
- {
- //work point
- int i, t;
- //num;
- //freopen("test", "r", stdin);
- scanf("%d", &t);
- while (t--)
- {
- //input data
- scanf("%d%d%d%d%d", &n, &s, &x, &y, &mod);
- for (i = 0; i < n; i++)
- {
- scanf("%s request %d pages", te[i].name, &te[i].num);
- }
- int sum = s;
- //handle data
- for (i = 0; i < n; i++)
- {
- if(sum >= te[i].num)
- {
- print(i);
- sum -= te[i].num;
- }
- else if(sum < te[i].num)
- {
- print(i, sum);
- update(s);
- sum = s;
- i--;
- }
- } //end of i
- printf("\n");
- } // end of t;
- }
- int main()
- {
- ace();
- return 0;
- }
[原]sdut2624 Contest Print Server (大水+大坑)山东省第四届ACM省赛的更多相关文章
- 山东省第四届ACM省赛
排名:http://acm.sdut.edu.cn/sd2012/2013.htm 解题报告:http://www.tuicool.com/articles/FnEZJb A.Rescue The P ...
- [原]sdut2605 A^X mod P 山东省第四届ACM省赛(打表,快速幂模思想,哈希)
本文出自:http://blog.csdn.net/svitter 题意: f(x) = K, x = 1 f(x) = (a*f(x-1) + b)%m , x > 1 求出( A^(f(1) ...
- 2013年山东省第四届ACM大学生程序设计竞赛-最后一道大水题:Contest Print Server
点击打开链接 2226: Contest Print Server Time Limit: 1 Sec Memory Limit: 128 MB Submit: 53 Solved: 18 [Su ...
- 山东省赛J题:Contest Print Server
Description In ACM/ICPC on-site contests ,3 students share 1 computer,so you can print your source c ...
- 模拟 2013年山东省赛 J Contest Print Server
题目传送门 /* 题意:每支队伍需求打印机打印n张纸,当打印纸数累计到s时,打印机崩溃,打印出当前打印的纸数,s更新为(s*x+y)%mod 累计数清空为0,重新累计 模拟简单题:关键看懂题意 注意: ...
- 2013年山东省第四届ACM大学生程序设计竞赛J题:Contest Print Server
题目描述 In ACM/ICPC on-site contests ,3 students share 1 computer,so you can print your source code ...
- sdutoj 2624 Contest Print Server
http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=2624 Contest Print Server ...
- 山东省第四届ACM大学生程序设计竞赛解题报告(部分)
2013年"浪潮杯"山东省第四届ACM大学生程序设计竞赛排名:http://acm.upc.edu.cn/ranklist/ 一.第J题坑爹大水题,模拟一下就行了 J:Contes ...
- 山东省第四届ACM程序设计竞赛部分题解
A : Rescue The Princess 题意: 给你平面上的两个点A,B,求点C使得A,B,C逆时针成等边三角形. 思路: http://www.cnblogs.com/E-star/arch ...
随机推荐
- Jetty和Tomcat的使用及性能测试
一 测试目的 这次对Jetty和Tomcat进行性能测试,主要是为了给新版本WebPortal的开发选择合适的Java Web Server. 我们之前对老的Rest和新的TMMI都进行过性能测试,R ...
- 8 个 Git 的小技巧
git 已经成为了我日常必备工具之一,我总结我几乎每天使用的8个有用(且简洁)的git技巧. 使用-p选择性添加 当你想提交内容时,你可以通过使用 git commit -am 来选择所有文件或使 ...
- 跨域请求 & jsonp
0 什么是跨域请求 在一个域名下请求另外一个域名下的资源,就是跨域请求.example 1:比如:我当前的域名是http://che.pingan.com.我现在要去请求http://www.cnbl ...
- arm-linux-ld
arm-linux-ld 直接指定代码段,数据段,BSS段的起始地址 -Ttest startaddr -Tdata startaddr -Tbss startaddr 示例: arm-linux-l ...
- 【转】group by多个字段理解
来源:http://uule.iteye.com/blog/1569262 首先group by 的简单说明: group by 一般和聚合函数一起使用才有意义,比如 count sum avg等,使 ...
- nginx 环境搭建(基于linux)
Nginx是一种服务器软件,故而其最主要.最基本的功能当然是可以与服务器硬件结合,让程序员可以将程序放在Nginx服务器上,将程序发布出去,让成千上万的网民可以浏览.除此之外,Nginx是一种高性能的 ...
- springmvc 对REST风格的支持
1.PathVariable注解 用于映射url的占位符到目标方法的参数中 例子: @RequestMapping("/testPathVariable/{id}") public ...
- 有没有一行文件字过多后可以省略号显示,我说的不是用其他样式,BT本身有没有?谢谢
.text-overflow {display: inline-block;max-width: 200px;overflow: hidden;text-overflow: ellipsis;whit ...
- angularjs ng-select ng-options 默认选中项.
<!DOCTYPE html> <html ng-app="myApp"> <head> <meta charset="utf- ...
- python 之编码问题详解
前在一个项目中遇到用post提交一个xml,xml中含有中文,对于单独的py文件,使用urllib2.urlopen完全ok,但在django中使用就一直报编码错误,然后在网上看到这篇文章不错,决定m ...