描述

数字具有神奇的魔力,神奇到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的更多相关文章

  1. 1015: [JSOI2008]星球大战starwar

    1015: [JSOI2008]星球大战starwar Time Limit: 3 Sec Memory Limit: 162 MB Description 很久以前,在一个遥远的星系,一个黑暗的帝国 ...

  2. soj 1015 Jill's Tour Paths 解题报告

    题目描述: 1015. Jill's Tour Paths Constraints Time Limit: 1 secs, Memory Limit: 32 MB Description Every ...

  3. POJ 1015 Jury Compromise 2个月后重做,其实这是背包题目

    http://poj.org/problem?id=1015 题目大意:在遥远的国家佛罗布尼亚,嫌犯是否有罪,须由陪审团决定.陪审团是由法官从公众中挑选的.先随机挑选n个人作为陪审团的候选人,然后再从 ...

  4. BZOJ 1015 题解

    1015: [JSOI2008]星球大战starwar Description 很久以前,在一个遥远的星系,一个黑暗的帝国靠着它的超级武器统治者整个星系.某一天,凭着一个偶然的机遇,一支反抗军摧毁了帝 ...

  5. 【ZOJ】1015 Fishing Net

    http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=1015 题意:给出一个n个点的无向图,询问是否为弦图,弦图定义为对于图中任意 ...

  6. [1015][JSOI2008]星球大战starwar(并查集)

    1015: [JSOI2008]星球大战starwar Time Limit: 3 Sec  Memory Limit: 162 MBSubmit: 2124  Solved: 909[Submit] ...

  7. 【BZOJ】1015: [JSOI2008]星球大战starwar(并查集)

    http://www.lydsy.com/JudgeOnline/problem.php?id=1015 看了题解的囧T_T,一开始以为是求割点,但是想到割点不能统计.... 这题用并查集,思想很巧妙 ...

  8. PAT乙级 1015. 德才论 (25)

    1015. 德才论 (25) 时间限制 200 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Li 宋代史学家司马光在<资治通鉴&g ...

  9. fzu 1015 土地划分(判断线段相交+求出交点+找规律)

    链接:http://acm.fzu.edu.cn/problem.php?pid=1015  Problem 1015 土地划分 Accept: 714    Submit: 1675Time Lim ...

随机推荐

  1. SVN错误:Attempted to lock an already-locked dir

    在eclipse里提交和更新文件是报错: Attempted to lock an already-locked dir svn: Working copy 'F:\workspace\WebFram ...

  2. Java_cookie 和session 的区别详解

    这些都是基础知识,不过有必要做深入了解.先简单介绍一下. 二者的定义: 当你在浏览网站的时候,WEB 服务器会先送一小小资料放在你的计算机上,Cookie 会帮你在网站上所打的文字或是一些选择, 都纪 ...

  3. Linux下memcached安装和启动方法

    Linux下memcached安装和启动方法 1. 首先下载memcached 和 libevent 包. Memcached用到了libevent这个库用于Socket的处理.下面是下载的两个包文件 ...

  4. jQuery的常用事件

    1.$(document).ready() $(document).ready()是jQuery中响应JavaScript内置的onload事件并执行任务的一种典型方式.它和onload具有类似的效果 ...

  5. HTML5 表单属性

    form 属性 form 属性规定输入域所属的一个或多个表单. 注释:form 属性适用于所有 <input> 标签的类型. form 属性必须引用所属表单的 id: 实例 <for ...

  6. 您的服务器没有安装这个PHP扩展:OpenSSL(其他平台API同步需要)

    今天在安装一个博客系统的时候提示这个错,在网上找了半天,自己慢慢弄出来的,具体如下: 1.找到你的php.ini 文件,将“;extension=php_openssl.dll”前面分号去掉. 2.复 ...

  7. 关于使用MVVM模式在WPF的DataGrid控件中实现ComboBox编辑列

    最近在做一个组态软件的项目,有一个需求需要在建立IO设备变量的时候选择变量的类型等. 建立IO变量的界面是一个DataGrid实现的,可以一行一行的新建变量,如下如所示: 这里需要使用带有ComboB ...

  8. 一次与iptables有关的Openstack排错

    先说下环境: 宿主机A(192.168.1.242)上运行着实例a(192.168.1.176), 宿主机B(192.168.1.56)上运行着实例b(192.168.1.50). 用户说从实例b上t ...

  9. objective-c基础教程——学习小结

    objective-c基础教程——学习小结   提纲: 简介 与C语言相比要注意的地方 objective-c高级特性 开发工具介绍(cocoa 工具包的功能,框架,源文件组织:XCode使用介绍) ...

  10. (转)php自己创建框架

    前言 说到写PHP的MVC框架,大家想到的第一个词--“造轮子”,是的,一个还没有深厚功力的程序员,写出的PHP框架肯定不如那些出自大神们之手.经过时间和各种项目考验的框架.但我还是准备并且这么做了, ...