博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Fibsieve`s Fantabulous Birthday LightOJ - 1008(找规律。。)
阅读量:5340 次
发布时间:2019-06-15

本文共 1469 字,大约阅读时间需要 4 分钟。

Description

某只同学在生日宴上得到了一个N×N玻璃棋盘,每个单元格都有灯。每一秒钟棋盘会有一个单元格被点亮然后熄灭。棋盘中的单元格将以图中所示的顺序点亮。每个单元格上标记的是它在第几秒被点亮。

第一秒棋格(1,1)将被点亮,第五秒棋格(3,1)将被点亮。

现在这只同学想知道在给定的时间哪个棋格将被点亮(时间将以秒为单位给出)。题目假设N足够大。

Input

先输入一个整数T(<= 200) , 表示测试用例的组数。

每一组用例将包括一个整数S(1 ≤ S ≤ 1015),表示时间。

(注:此题中长整形的输入输出要用 %lld 格式实现)

Output

对于每组用例您必须打印用例编号和两个数字(x,y)表示列号和行号。

Sample Input

3

8

20

25

Sample Output

Case 1: 2 3

Case 2: 5 4

Case 3: 1 5

 

呃。。。找找规律。。。丫丫卡卡

 

#include 
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define rap(a, n) for(int i=1; i<=n; i++)#define MOD 2018#define LL long long#define ULL unsigned long long#define Pair pair
#define mem(a, b) memset(a, b, sizeof(a))#define _ ios_base::sync_with_stdio(0),cin.tie(0)//freopen("1.txt", "r", stdin);using namespace std;const int maxn = 10010, INF = 0x7fffffff;int main(){ int T, kase = 0; cin>> T; while(T--) { LL s, x, m; cin>> s; m = ceil(sqrt((double)s)); x = m*m - s + 1; if(x == m) printf("Case %d: %lld %lld\n", ++kase, m, m); else if(x < m) { if((m*m) & 1) printf("Case %d: %lld %lld\n", ++kase, x, m); else printf("Case %d: %lld %lld\n", ++kase, m, x); } else { if((m*m) & 1) printf("Case %d: %lld %lld\n", ++kase, m, (2*m - x)); else printf("Case %d: %lld %lld\n", ++kase, (2*m - x), m); } } return 0;}
View Code

 

转载于:https://www.cnblogs.com/WTSRUVF/p/9350831.html

你可能感兴趣的文章
建造者模式
查看>>
ArraySort--冒泡排序、选择排序、插入排序工具类demo
查看>>
composer 安装laravel
查看>>
8-EasyNetQ之Send & Receive
查看>>
Android反编译教程
查看>>
java重写LinkedList
查看>>
zTree节点重叠或者遮挡
查看>>
List<string> 去重复 并且出现次数最多的排前面
查看>>
js日志管理-log4javascript学习小结
查看>>
Android之布局androidmanifest.xml 资源清单 概述
查看>>
How to Find Research Problems
查看>>
Linux用户管理
查看>>
数据库第1,2,3范式学习
查看>>
《Linux内核设计与实现》第四章学习笔记
查看>>
使用iperf测试网络性能
查看>>
struts2入门之准备工作
查看>>
从C语言的弱类型属性说起
查看>>
图片的显示隐藏(两张图片,默认的时候显示第一张,点击的时候显示另一张)...
查看>>
Docker 安装MySQL5.7(三)
查看>>
python 模块 来了 (调包侠 修炼手册一)
查看>>