BJFU 1015
描述
数字具有神奇的魔力,神奇到ben想把所有数字全部保存起来。于是他设想了如下的保存方法。假设有一张无限大的纸板,将所有自然数(不包括0)按如下顺序排列书写在纸板上保存:
1 2 6 7 15 16 ...
3 5 8 14 17 ...
4 9 13 ...
10 12 ...
11 ...
...
在这样的排列下,3排列在第2行第1列,13排在第3行第3列。现在ben想知道,对任意自然数,它排列在第几行第几列?
输入
输入包含多组测试数据,每组测试数据占一行,为一个自然数N(64位整数范围内。)
输出
对每组输入的自然数,请输出(i,j),表示该自然数排列在第i行第j列。
样例输入
3
13
1993
9223372036854775807
样例输出
(2,1)
(3,3)
(24,40)
(2147483647,2147483650)
看到这一题我一开始的思路是这样的↓
#include <stdio.h>
int main()
{
long long n,m,j;
while(scanf("%lld",&n)!=EOF)
{
,j=;m<n;m+=++j);
)printf(+m-n,j-(m-n));
+(m-n));
}
;
}
果然超时
还是考虑如何使得m的取值更合适比较好
#include <stdio.h>
int main()
{
long long n,m;
while(scanf("%lld",&n)!=EOF)
{
;(m*(m+))/>=n;m--);
m+=;
)printf(+(m*(m+))/-n,m-((m*(m+))/-n));
))/-n),+(m*(m+))/-n);
}
;
}
↑这样想的时候也没抱着AC的打算
倒推之后用sqrt减少运算↓
#include <stdio.h>
#include <math.h>
int main()
{
unsigned long long n,m,x;
while(scanf("%llu",&n)!=EOF)
{
)*sqrt(n);(m*(m+)/)<n;m++);
x = +(m*(m+))/-n;
)printf();
,x);
}
;
}
还是超时不过只有在9200000000000000000以上的某个值就会开始超时
然后发现在m*(m+1)的时候可能会溢出,所以改成了这样↓
#include <stdio.h>
#include <math.h>
int main()
{
unsigned long long n,m,x;
while(scanf("%llu",&n)!=EOF)
{
)*sqrt(n);((m/)/2.0))<n/2.0;m++);
x = +(((m/;
)printf();
,x);
}
;
}
但这样输出的时候许多大数的输出的是一样的坐标,估计是因为中间用到了浮点数运算所以导致的结果。
改成下面这样↓
#include <stdio.h>
#include <math.h>
int main()
{
unsigned long long n,m,x;
while(scanf("%llu",&n)!=EOF)
{
)*sqrt(n);((m/)/2.0))<n/2.0;m++);
x = n-(m*(m-)/);
)printf(,x);
);
}
;
}
AC~
BJFU 1015的更多相关文章
- 1015: [JSOI2008]星球大战starwar
1015: [JSOI2008]星球大战starwar Time Limit: 3 Sec Memory Limit: 162 MB Description 很久以前,在一个遥远的星系,一个黑暗的帝国 ...
- soj 1015 Jill's Tour Paths 解题报告
题目描述: 1015. Jill's Tour Paths Constraints Time Limit: 1 secs, Memory Limit: 32 MB Description Every ...
- POJ 1015 Jury Compromise 2个月后重做,其实这是背包题目
http://poj.org/problem?id=1015 题目大意:在遥远的国家佛罗布尼亚,嫌犯是否有罪,须由陪审团决定.陪审团是由法官从公众中挑选的.先随机挑选n个人作为陪审团的候选人,然后再从 ...
- BZOJ 1015 题解
1015: [JSOI2008]星球大战starwar Description 很久以前,在一个遥远的星系,一个黑暗的帝国靠着它的超级武器统治者整个星系.某一天,凭着一个偶然的机遇,一支反抗军摧毁了帝 ...
- 【ZOJ】1015 Fishing Net
http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=1015 题意:给出一个n个点的无向图,询问是否为弦图,弦图定义为对于图中任意 ...
- [1015][JSOI2008]星球大战starwar(并查集)
1015: [JSOI2008]星球大战starwar Time Limit: 3 Sec Memory Limit: 162 MBSubmit: 2124 Solved: 909[Submit] ...
- 【BZOJ】1015: [JSOI2008]星球大战starwar(并查集)
http://www.lydsy.com/JudgeOnline/problem.php?id=1015 看了题解的囧T_T,一开始以为是求割点,但是想到割点不能统计.... 这题用并查集,思想很巧妙 ...
- PAT乙级 1015. 德才论 (25)
1015. 德才论 (25) 时间限制 200 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Li 宋代史学家司马光在<资治通鉴&g ...
- fzu 1015 土地划分(判断线段相交+求出交点+找规律)
链接:http://acm.fzu.edu.cn/problem.php?pid=1015 Problem 1015 土地划分 Accept: 714 Submit: 1675Time Lim ...
随机推荐
- C#操作XML文档---基础
增查改删代码如下 public void CreateXML() { XmlDocument xml = new XmlDocument(); xml.AppendChild(xml.CreateXm ...
- iOS 项目中用到的一些开源库和第三方组件
iOS 项目中用到的一些 iOS 开源库和第三方组件 分享一下我目前所在公司 iOS 项目中用到的一些 iOS 开源库和第三方组件, 感谢开源, 减少了我们的劳动力, 节约了我们大量的时间, 让我们有 ...
- 第1章 ZigBee协议栈初始化网络启动流程
作者:宋老师,华清远见嵌入式学院讲师. ZigBee的基本流程:由协调器的组网(创建PAN ID),终端设备和路由设备发现网络以及加入网络. 基本流程:main()->osal_init_sys ...
- 关于JS的算法
一.快速排序 function qSort(arr) { if(arr.length === 0) { return []; } var left = []; var right = []; var ...
- Linux服务器中木马(肉鸡)手工清除方法
由于自己也碰到过这种情况,刚好看到这篇文章,先转载过来.的确蛮有用的哦. 首先剧透一下后门木马如下: (当然这是事后平静下来后慢慢搜出来的,那个时候喝着咖啡感觉像个自由人) 木马名称 Linux.Ba ...
- thinkphp 关于iframe一次提交完成所有操作
一.上传操作html界面,upload.html <import type='css' file="admin.css.common" /> <import ty ...
- 如何获得中国所有的IP地址段
转自: https://wjianz.wordpress.com/2014/09/12/howto-%E4%BB%8Eapnic%E8%8E%B7%E5%8F%96%E4%B8%AD%E5%9B%BD ...
- 【iCore3 双核心板_FPGA】实验十九:基于双口RAM的ARM+FPGA数据存取实验
实验指导书及代码包下载: http://pan.baidu.com/s/1pLReIc7 iCore3 购买链接: https://item.taobao.com/item.htm?id=524229 ...
- SharePoint 2013 网站应用程序、网站集、网站知识整理
网站应用程序:Web 应用程序是一种可以通过Web访问的应用程序.我们自己以前用VS开发的Web应用程序一般是通过人工部署到IIS上的,而SharePoint的Web应用程序是由SharePoint安 ...
- Session 知识点再整理(一)基本概念和原理
Session 的概念 Session 和 Cookie 一样,也是针对 HTTP 的局限性而提出的一种保持客户端和服务器端会话连接状态的机制. Session 被称为会话,指用户在进入网站到浏览器关 ...