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 ...
随机推荐
- “Invalid maximum heap size” when running Maven
运行mvn package,报错: Invalid maximum heap size: -Xmx512m. Error: Could not create the Java Virtual Mach ...
- linux下的crontab服务
linux下的crontab服务:1.crontab 是用来让使用者在固定时间或固定间隔执行程序之用在linux平台上如果需要实现任务调度功能可以编写cron脚本来实现.以某一频率执行任务linux缺 ...
- servlet session 相关
1.session是server维护的一个变量,如果消除每个session?----这里只做指定key的session删除 1.1.显示调用 废除指定key的session session.remov ...
- mysql错误代码整理
1005:创建表失败1006:创建数据库失败1007:数据库已存在,创建数据库失败1008:数据库不存在,删除数据库失败1009:不能删除数据库文件导致删除数据库失败1010:不能删除数据目录导致删除 ...
- thinkphp上传至服务器后模板无法解析原因
前几日做好的响应式静态页面上传至虚拟空间,打开网址地址出现: 模板不存在:./app/Home/View/Index/index.html 错误位置 FILE: /home/u333385714/pu ...
- thinkphp多模板布局设置!!
首先开启模板布局要在配置文件添加: 'LAYOUT_ON'=>true, 'LAYOUT_NAME'=>'layout', 如果需要设置多个布局模板,就要先关闭上面的LAYOUT_ON,也 ...
- 在PHP与HTML混合输入的页面或者模板中就需要对PHP代码进行闭合
PHP程序的时候会在文件的最后加上一个闭合标签,如下: <?phpclass MyClass{public function test(){//do something, etc.}}?> ...
- IOS第七天(6:UiTableView编辑模式, 拖动位置 ,滑动删除)
**********UiTableView编辑模式, 拖动位置 ,滑动删除 #import "HMViewController.h" @interface HMViewContro ...
- [转]快速构建App界面的框架(●'◡'●) -----SalutJs
前言 卤煮在公司之初接触到的是一个微信APP应用.前端技术采用的是Backbone+zepto等小型JS类库.在项目开发之初,这类中小型的项目采用这两种库可以满足基本的需求.然而,随着迭代的更新和业务 ...
- linux下缓存的查看/修改
起因: 安装openstack过程中内存不够大,提高内存后想起缓存一般设置为内存的两倍. 缓存的实质是硬盘开辟一个空间,然后设置这个空间为缓存. 查看缓存大小 free -m free -m tota ...