zoukankan      html  css  js  c++  java
  • LightOJ

    题目描述:按照题目所给的顺序填充排列自然数,给你一个n,输出n在这个特殊序列中所在的坐标。

    思路:一道找规律的题,数据的排列可以类似的看做一个蛇形路段,每一个对勾的拐点就是一个完全平方数,并且开方数刚好就是偶数行的横向坐标或者奇数行的纵坐标,然后再次观察可找到每个对勾的拐角点(也就是说图形的对角线就是本行的完全平方数减去上一行的行数就行),最后根据对角线的位置可以确定n的另外一个坐标。(估计你肯定看不下去,还是看代码吧!)

    需要注意的一点就是数据范围别用 int 就行。

    #include <stdio.h>
    #include <string.h>
    #include <math.h>
    #include <algorithm>
    #include <queue>
    #include <stack>
    #define LL long long
    using namespace std;
    int main()
    {
        LL T,i,j,n,m,len=1;
        double ans;
        scanf("%lld",&T);
        while(T--)
        {
    
            scanf("%lld",&n);
            printf("Case %lld: ",len++);
            ans=sqrt(n);
            m=(LL)ans;
            if(ans>m)
                m++;
            LL k=m*m-m+1;
            if(m%2>0)
            {
                if(n<k)
                    printf("%lld %lld
    ",m,m-(k-n));
                else
                    printf("%lld %lld
    ",m-(n-k),m);
            }
            else
            {
                if(n>k)
                    printf("%lld %lld
    ",m,m-(n-k));
                else
                    printf("%lld %lld
    ",m-(k-n),m);
            }
        }
        return 0;
    }
    View Code

    后记:最怕的就是找规律,刚开始就是被那张图给吓到了,英语也不好,看不懂题的意思,所以比较怵找规律的题。还是继续努力吧!!!

  • 相关阅读:
    再学梳理数据指标体系
    mac下Robot Framework-demo脚本
    Robot Framework-环境搭建
    Tensorflow学习笔记No.11
    Tensorflow学习笔记No.10
    Tensorflow学习笔记No.9
    Tensorflow学习笔记No.8
    Tensorflow学习笔记No.7
    Tensorflow学习笔记No.6
    Tensorflow学习笔记No.4.2
  • 原文地址:https://www.cnblogs.com/zznu17-091041/p/8438700.html
Copyright © 2011-2022 走看看