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 ...
随机推荐
- SQL Server 父子迭代查询语句,树状查询(转)
-- Get childs by parent id WITH Tree AS ( SELECT Id,ParentId FROM dbo.Node P WHERE P.Id = -- parent ...
- Nodejs正则表达式函数之match、test、exec、search、split、replace使用详解
1. Match函数 使用指定的正则表达式函数对字符串惊醒查找,并以数组形式返回符合要求的字符串 原型:stringObj.match(regExp) 参数: stringObj 必选项,需要去进行匹 ...
- MVVMLight Messenging
Basically there are two possible ways to send a message, first using an overload of the RaisePropert ...
- Objective-c的内存管理MRC与ARC
Objective-c的内存管理MRC与ARC Objective-c中提供了两种内存管理机制MRC(MannulReference Counting)和ARC(Automatic Referen ...
- 读Thinking in java 4
读tij4 ,生活中还是杂事太多,有时候就忘了最初买书来读的初衷,也没了刚开始激情了,为了督促下自己,好好看完一本书,不妨来写写读书笔记吧.
- mvn生成runnablejar 的方法
主要讲3点,生成runnable jar 方法1是生成一个目录 方法2是直接一个runnable的jar 方法3是关于包含spring工程的情况 方法2和3其实是一致的 1.生成runnable j ...
- Webform购物车(用Session存储,页面传值)
购物车主要实现的功能: ①在主页面可以将所有商品显示出来,包括价格,库存. ②点击购买可以累加产品,如果是同一种产品,只会累加每种产品的数量. ③查看购物车,可以查看明细,包括所购物品的名称,价格,数 ...
- php以post方式向接口发送数据
工作需要,我负责收集服务器数据,然后定时向中心服务器发送.我看到了接口信息,需要设置heads头信息,需要发送数据,且是post方式. 这里就用到了curl //发送post请求 function r ...
- Zabbix自带模板监控MySQL
先使用主机链接Mysql模板 . 然后写获取mysql状态的脚本,即配合zabbix模板里面的参数的脚本. #!/bin/bash MYSQL_USER='zabbix' #这里为在本地数据库授权的账 ...
- Bootstrap css背景图片的设置
一. 网页中添加图片的方式有两种 一种是:通过<img>标签直接插入到html中 另一种是:通过css背景属性添加 居中方法:水平居中的text-align:center 和 margin ...