ZJU2012.02月赛 F题(ZOJ 3576)
2012-03-02 19:27
387 查看
水题一枚……可惜比赛的时候想多了,最后想到用级数之类的来求……
实际上找规律就能过,比赛的时候赶时间没好好画图没看出来,今天上数据库课太无聊又多画了几个图就看出来了……
先把m,n除去最大公约数
如果m,n中有任一个为偶数那么一定能找到某种对称方式,所以红色的长度就是对角线长度的一半
如果两者都是奇数,那么红色长度与对角线的比例就是n/m + (n-2)/m + ... + 3/m + 1/m + 3/m + ... + (n-2) /m + n / m(如果不足(n+m)/2项就用n/m补足),化简成(n*m+1) / (2*m*n)
实际上找规律就能过,比赛的时候赶时间没好好画图没看出来,今天上数据库课太无聊又多画了几个图就看出来了……
先把m,n除去最大公约数
如果m,n中有任一个为偶数那么一定能找到某种对称方式,所以红色的长度就是对角线长度的一半
如果两者都是奇数,那么红色长度与对角线的比例就是n/m + (n-2)/m + ... + 3/m + 1/m + 3/m + ... + (n-2) /m + n / m(如果不足(n+m)/2项就用n/m补足),化简成(n*m+1) / (2*m*n)
#include <iostream> #include <cstdio> #include <cstdlib> #include <cmath> using namespace std; int m, n; int gcd(int a, int b) { return b ? gcd(b, a%b) : a; } int main() { while(~scanf("%d%d", &m, &n)) { if(m == n) { printf("%.3lf\n", sqrt(double(m)*double(m) + double(m)*double(m))); } int t = gcd(m, n); m /= t; n /= t; if(m % 2 == 0 || n % 2 == 0) { printf("%.3lf\n", sqrt(double(m)*double(m) + double(n)*double(n)) / 2 * double(t)); } else { int i; double sum = 0; double tmp1, tmp2, t1, t2; if(m > n) swap(m, n); sum = double(m*n + 1) / double(2*m*n) * (sqrt(double(m)*double(m) + double(n)*double(n))); printf("%.3lf\n", sum * (double)t); } } return 0; }
相关文章推荐
- ZOJ 3657The Little Girl..2012长春现场赛C题(简单思维+细心)
- zoj zju 2989 Encoding 字符串处理
- ZOJ 3685 ZJU2013年01月月赛J题 Cube
- ZOJ Monthly, June 2012 - F Choir III - zoj 3616
- [贪心](JZOJ)【USACO Open 2012铜】岛屿Islands
- ZOJ 1056 The Worm Turns 杭电计算机复试2012第二题
- ZJU/ZOJ Deque and Balls 3929 计数:小的情况对总情况的贡献。 小心mod运算陷阱
- (ZJU-2006复试)-ZOJ-1006-Do the Untwist
- zoj zju 2990 Decoding 字符串处理
- ZOJ 3681 ZJU2013年01月月赛F题 E - Cup 2
- ZOJ 3665 Yukari's Birthday (2012长春现场赛K题)
- [zoj]3576 Count the Length
- ZOJ Monthly, August 2012-A-ZOJ 3633 ZOJ 3635
- (ZJU-2006复试)-ZOJ-2529-A+B in Hogwarts
- ZOJ 3682 ZJU2013年01月月赛G题 E - Cup 3
- 待证明-ZOJ 3576
- ZOJ 3684 ZJU2013年01月月赛I题 Destroy
- ZOJ 3665 Yukari's Birthday (2012长春现场赛K题)
- [报告]ACM-ICPC 2012 Regionals Asia - Changchun I Polaris of Pandora / ZJU 3663
- zoj Monthly, February 2012 - D Under Attack II (zoj 3574)