151 条题解
-
0木子日匀 LV 10 @ 2009-07-24 16:58:30
var i,j,m,bak,k:longint;
begin
readln(m);
bak:=m;
i:=1;
j:=0;
repeat
j:=j+i;
i:=i+4;
until j >= m ;
i:=i-4;
j:=j-i;
m:=m-j;
if m = m ;
i:=i-4;
j:=j-i;
m:=m-j;
if m -
02009-07-23 02:02:51@
对于X行Y列
上的数
就是X/Ywhile n>i do
begin
n:=n-i;
inc(i);
end;
因此只要定位出第N项的坐标位置
先求出第N项是第几斜行的第几个数奇数斜行从左下往右上
x:=x-1;
y:=y+1;偶数斜行从右上往左下
x:=x+1;
y:=y-1;注意奇偶的预处理、
-
02009-07-22 21:39:28@
var i,m:longint;
begin
readln(m);
i:=0;
while m>0 do
begin
inc(i);
m:=m-i;
end;
m:=m+i;
// dec(i);
if i mod 2=0 then
write(m,'/',i-m+1)
else write(i-m+1,'/',m);
end. -
02009-07-21 10:27:41@
var
a,b:longint;
begin
readln(a);
b:=1;
while a-b>0 do
begin
a:=a-b;
b:=b+1;
end;
if b mod 2=0 then
write(a,'/',b+1-a)
else write(b+1-a,'/',a);
end. -
02009-07-21 08:51:06@
var
a,b:longint;
begin
readln(a);
b:=1;
while a-b>0 do
begin
a:=a-b;
b:=b+1;
end;
if b mod 2=0 then
write(a,'/',b+1-a)
else write(b+1-a,'/',a);
end. -
02009-07-19 15:23:21@
水题.
var n,i,j,k,p,s:longint;
t:boolean;begin
readln(n);
i:=1; t:=true;
while t do
begin
s:=0;
for j:=1 to i do s:=s+j;
if n -
02009-07-18 00:26:38@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0msvar i,m:longint;
begin
readln(m);
i:=0;
while m>0 do
begin
inc(i);
m:=m-i;
end;
m:=m+i;
// dec(i);
if i mod 2=0 then
write(m,'/',i-m+1)
else write(i-m+1,'/',m);
end. -
02009-07-16 16:28:19@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 119ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:119msprogram ex;
var a:array[1..10000,1..10000] of longint;
n,j,i,x:longint;
begin
readln(n);
i:=1;j:=1;x:=1;a:=x;
while xn do begin
if (i=1) and (nx) then begin
if j mod 20 then begin
j:=j+1;
x:=x+1;
a:=x;
while (j>1) and (xn) do
begin
j:=j-1;
i:=i+1;
x:=x+1;
a:=x;
end;
end;
end;
if (j=1) and (nx) then begin
if i mod 2=0 then begin
i:=i+1;
x:=x+1;
a:=x;
while (i>1) and (xn) do
begin
i:=i-1;
j:=j+1;
x:=x+1;
a:=x;
end;
end;
end;end;
writeln(i,'/',j);
end. -
02009-07-15 17:23:50@
program dsa;
var n,x,y,i:longint;
f:boolean;
begin
read(n);
f:=true;
x:=1;y:=1;
for i:=2 to n do
begin
if f=true then
begin
if x=1 then
begin
y:=y+1;
f:=false;
end
else
begin
dec(x);
inc(y);
end;
end
else if f=false then
begin
if y=1 then
begin
x:=x+1;
f:=true;
end
else
begin
inc(x);
dec(y);
end;
end;
end;
write(x,'/',y);
end.农夫山泉
-
02009-06-24 21:06:28@
var
i,j,n,m,sum:longint;
begin
sum:=0;
readln(n);m:=1;
while sum+m -
02009-06-24 20:58:10@
var
num,n,i:longint;
begin
readln(n);
num:=0;
i:=1;
while num -
02009-06-20 20:27:37@
water
-
02009-05-21 23:23:15@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms#include
using namespace std;
int main()
{
int k,t = 0,m,n,i;
cin>>k;for(i=1; t
-
02009-05-05 12:45:48@
var i,j,m,n:longint;
begin
readln(n);
i:=0; j:=0;
while j -
02009-04-30 22:09:16@
题目虽水,解题可不能水。
按照题意做说不定会超时,反正我没有那么做。
最好从左上起把表斜向地分成一层一层的。
每次判断一层,看n是否在该层内,再精确到具体的位置——效率相当高。
不过这个过程有很多细节的处理要注意哦,自己想想吧。 -
02009-04-20 21:08:18@
program zk;
var
i,j,x,y,n:int64;
k:integer;
begin
read(n);
i:=0; y:=0;
if n=1 then begin write('1/1'); halt; end;
while n-i-1>0 do
begin i:=i+1; n:=n-i; end;
i:=i+1;
if i mod 2 =0
then writeln(n,'/',i-n+1)
else writeln(i-n+1,'/',n);
end. -
02009-04-09 20:40:15@
范围别弄太大拉....
偶一开始
弄100000.一个超时,90分;
50000,又超,90分,
30000,还超,90分,
10000,一个没过,一个335ms,90分;
爆无语.........
结果,想了一下,10100,终于过拉,100分,不过我的AC率......... -
02009-04-07 14:03:11@
其实我还理解成了
1 3 6 10
2 5 9
4 8
7
谢天谢地,样例是7,保全了我的ac rate啊 -
02009-04-06 15:24:52@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms太简单了
program p1333;
var a,i:longint;
begin
read(a);
i:=1;
while i -
02009-06-20 17:14:31@
#include "stdio.h"
main()
{ long n,s=0,s1=0,a,b,t;
int i,j,k;
scanf("%d",&n);
for(i=1;;i++)
{ s+=i;
if(s>=n)
break;
}
if(i%2==0)
{for(k=1;k