codeforces 460A Vasya and Socks 解题报告
题目链接:http://codeforces.com/problemset/problem/460/A
题目意思:有一个人有 n 对袜子,每天早上会穿一对,然后当天的晚上就会扔掉,不过他会在 m 的倍数所代表的天数(1m,2m,3m...)会购入一双袜子,不过是在那一天的晚上买。问他拥有的袜子够他穿几天。
首先他是晚上扔掉,早上穿,晚上买这些信息是无关紧要的,好像不影响解题,不要太纠结......这题最关键的是,他穿完 他本来购入的 n 对袜子后,又再购入的情况,因为假设他在前 n 日(也就是m,2m,3m,....。这些 m 的倍数的天数不超过n)购入 bought对袜子,那么接下来的 n+1天他就可以穿这 bought对袜子了,天数依次为n+1, n+2, ...,n+1+bought。但是,有一个情况要考虑到,就是这些天数中有一些可能又是 m 的倍数,也就是又要在这些倍数里买一对袜子。
可以这样处理,不断模拟 n+1天之后的情况,每一天bought的数量减一(代表当日穿这双袜子,顺便当晚扔掉),天数就不断累加啦,如果天数是 m 的倍数,bought数量加一,退出循环的条件就是 bought数变为0.还犯了一个比较低级的错误,循环初始时的值没有搞清楚,就是n+1嘛,想太多了....
自从被人hack了之后,就永无翻身之地啦,接下来的日子尽量多做virtual,做其他oj题之后,发现做回cf的题目有点适应不了= =,呜呜呜~~~继续努力!
#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cstring>
using namespace std; int main()
{
int n, m, tmp;
while (scanf("%d%d", &n, &m) != EOF)
{
int bought = ;
for (int i = ; i * m <= n; i++)
bought++;
tmp = bought;
for (int i = n+; bought; i++) // 注意是从n+1天开始
{
bought--;
if (i % m == )
{
bought++; // 模拟袜子被用数量
tmp++; // 存储袜子在有的情况下累积的天数
}
}
printf("%d\n", tmp + n);
}
return ;
}
听说还有一个公式算的: n + [(n-1)/(m-1)]的下取整
codeforces 460A Vasya and Socks 解题报告的更多相关文章
- codeforces 493B.Vasya and Wrestling 解题报告
题目链接:http://codeforces.com/problemset/problem/493/B 题目意思:给出 n 个 techniques,每个 technique 的值为 ai. ai & ...
- codeforces 493A. Vasya and Football 解题报告
题目链接:http://codeforces.com/contest/493/problem/A 题目意思:给出两个字符串,分别代表 home 和 away.然后有 t 个player,每个playe ...
- Codeforces Educational Round 92 赛后解题报告(A-G)
Codeforces Educational Round 92 赛后解题报告 惨 huayucaiji 惨 A. LCM Problem 赛前:A题嘛,总归简单的咯 赛后:A题这种**题居然想了20m ...
- Codeforces Round #262 (Div. 2)460A. Vasya and Socks(简单数学题)
题目链接:http://codeforces.com/contest/460/problem/A A. Vasya and Socks time limit per test 1 second mem ...
- codeforces 476C.Dreamoon and Sums 解题报告
题目链接:http://codeforces.com/problemset/problem/476/C 题目意思:给出两个数:a 和 b,要求算出 (x/b) / (x%b) == k,其中 k 的取 ...
- Codeforces Round #262 (Div. 2)解题报告
详见:http://robotcator.logdown.com/posts/221514-codeforces-round-262-div-2 1:A. Vasya and Socks http ...
- Codeforces Round #382 (Div. 2) 解题报告
CF一如既往在深夜举行,我也一如既往在周三上午的C++课上进行了virtual participation.这次div2的题目除了E题都水的一塌糊涂,参赛时的E题最后也没有几个参赛者AC,排名又成为了 ...
- codeforces 507B. Amr and Pins 解题报告
题目链接:http://codeforces.com/problemset/problem/507/B 题目意思:给出圆的半径,以及圆心坐标和最终圆心要到达的坐标位置.问最少步数是多少.移动见下图.( ...
- codeforces 500B.New Year Permutation 解题报告
题目链接:http://codeforces.com/problemset/problem/500/B 题目意思:给出一个含有 n 个数的排列:p1, p2, ..., pn-1, pn.紧接着是一个 ...
随机推荐
- 关于EOF,转自新浪微博
本文转自http://blog.sina.com.cn/s/blog_7714171f0101798y.html EOF 是 End Of File 的缩写. 在C语言中,它是在标准库中定义的一个宏. ...
- eclipse 安卓虚拟机安装apk 及常见问题
首先必须启动虚拟机然后如图操作:
- codevs——1690 开关灯
1690 开关灯 USACO 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 钻石 Diamond 题解 题目描述 Description YYX家门前的街上有N( ...
- eclipse软件安装及python工程建立
原文地址:http://www.cnblogs.com/halfacre/archive/2012/07/22/2603848.html 安装python解释器 安装PyDev: 首先需要去Eclip ...
- delphi函数大全
delphi函数大全Abort 函数 引起放弃的意外处理Abs 函数 绝对值函数AddExitProc ...
- 转:HtmlCxx用户手册
1.1 简介 使用由KasperPeeters编写的强大的tree.h库文件,可以实现类似STL的DOM树遍历和导航. 打包好的Css解析器. 看似很像C++代码的C++代码(其实已不再是C++了) ...
- Mac安装IntelliJ IDEA时快捷键冲突设置
Mac有专门的快捷键,和Linux/Windows的不一样. 下面是发现的一些需要屏蔽的快捷键: 一.搜狗输入法: 暂时没发现有冲突. 二.系统 代码提示:Ctrl+空格(输入法开关) 三.其它 暂无 ...
- 梯度下降和EM算法,kmeans的em推导
I. 牛顿迭代法给定一个复杂的非线性函数f(x),希望求它的最小值,我们一般可以这样做,假定它足够光滑,那么它的最小值也就是它的极小值点,满足f′(x0)=0,然后可以转化为求方程f′(x)=0的根了 ...
- binary-tree-postorder-traversal——二叉树后续遍历
Given a binary tree, return the postorder traversal of its nodes' values. For example:Given binary t ...
- Andriod 从源码的角度详解View,ViewGroup的Touch事件的分发机制
转自:xiaanming的博客(http://blog.csdn.net/xiaanming/article/details/21696315) 今天这篇文章主要分析的是Android的事件分发机制, ...