170 条题解
-
0husidioics LV 8 @ 2008-11-04 21:24:35
强烈建议A掉Dophin,同样的程序,第一遍超3个,第二遍秒杀
-
02008-11-03 19:05:18@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms数据太贱了。。。。。。。。。。害的我白白交了5次
-
02008-11-03 11:06:58@
数据范围。。。。太jian了。。。
for i:=1 to n do
begin
read(num);
while tot -
02008-11-01 14:57:28@
阿东VS燕麦 水题5分钟搞定AC
var
n,i,j:integer;
r,w:array[0..1501]of longint;
m:int64;
begin
readln(n);
for i:=1 to n do read(r[i]); readln;
m:=r[n];
for i:=n downto 1 do
begin
if r[i]=r then begin w[i]:=m; dec(m); end
else w[i]:=1;
end;
for i:=1 to n do write(w[i],' '); readln;
end.
推公式吗~多亏了ysyjack -
02008-10-30 20:19:12@
20行不到的水题目又刷了一题
·· -
02008-10-29 13:24:05@
POJ 1068的缩水版
#include
#include
#define maxlen 100000
long n,t;
char seq[maxlen+10],_did;
int main()
{
long o,i,j,x,lst,cnt,num,deep,ans;// scanf("%ld",&t);
t=1;
for(o=1;o -
02008-10-28 21:01:54@
by jaly;
var b:array[1..20000] of boolean;//第b[i]个男的有无舞伴
read(a[i]);//左边的男生人数
for j:=a[i] downto 1 do//倒着找到第一个没有舞伴
if not b[j] then
begin
b[j]:=true;
write(a[i]-j+1,' ');//隔几个男的
break;
end;
end;
end.15行不到..AC了..
-
02008-10-27 16:36:55@
一开始O(n)的程序很神奇的TLE了,困惑……
-
02008-10-26 15:34:55@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms -
02008-10-19 20:42:45@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms小心数据范围哦!
-
02008-10-19 12:15:05@
给的范围有误,最后的两个数据的N大于1500,害我白白WA一次,我的AC率~~~
-
02008-10-16 16:25:48@
数组开了2W,AC,水题
-
02008-10-13 00:24:57@
var f:array[1..50000,1..2]of integer;
s:array[1..50000,1..2]of integer;
l:array[1..50000]of integer;
i,j,n,t1,t2,m:longint;
begin
readln(n);
for i:=1 to n do begin read(f);f:=i;end;
for i:=1 to n-1 do
for j:=i+1 to n do
if f>f[j,1] then
begin
t1:=f;f:=f[j,1];f[j,1]:=t1;
t2:=f;f:=f[j,2];f[j,2]:=t2;
end; j:=0;m:=0;
for i:=1 to n do
begin
while mf do
begin
inc(j);if s[j,1]=0 then inc(m);
end;
inc(j);
s[j,1]:=1;s[j,2]:=f;
end;
for i:=1 to 2*n do
if s=1 then
begin m:=1;
for j:=i-1 downto 1 do
begin
if s[j,1]=-1 then inc(m);
if s[j,1]=0 then begin l[s]:=m;s[j,1]:=-1;break;end;
end;end;
for i:=1 to n-1 do write(l[i],' ');writeln(l[n]);
end.
这样写有错吗? -
02008-10-03 17:23:12@
19行,GCC,搞定~~
#include
main()
{
static int stackboy[5000],temp[5000],result[5000];
int n,i,j,boy=0;
temp[0]=0;
scanf("%d",&n);
for(i=1;i -
02008-10-03 17:21:53@
模拟栈就可以了,栈里面放boy及记录boy的距离,没来一个girl就pop,距离都加一.
-
02008-09-29 18:33:27@
不懂的看这个 ")"代表女生 "(" 代表男生
注意这个条件:②任何一对舞伴之间,要么没有人,要么就有若干对舞伴。
就是说"()"是成对的拿4 5 6666 为例,可知第一个')' 前面有四个'(' ,按照栈的规则,说明第一个')'与第四个'(' 匹配,同理第二个 ')' 与 第五个 '(' 匹配,第三个')' 与第六个 '(' 匹配,
在看第四个,由于第六个'('、第五个'('、第四个'('、已经被匹配,所以第四个')' 应该是和
第三个'(' 匹配,以此类推。。。。用一个数组保存的匹配的结果(match[]),
4 5 6 6 6 6 6
匹配结果:4 5 6 3 2 1 ,再以 3 为例,因为在这个')'之前的第四个'('、五个'('、第六个'('已经被匹配,每一次匹配是一个')', 加上本身 所以结果应该是 6-3+1,以此类推结果就出来了。。。 ^_^ -
02008-09-18 16:48:56@
注意范围!
-
02008-09-16 11:39:31@
同志门注意数组范围啊····
-
02008-09-14 10:27:22@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时 :0ms
注意范围! -
02008-09-13 09:40:29@
See POJ1068
http://acm.pku.edu.cn/JudgeOnline/problem?id=1068
数据问题,数组开到50000AC
var
i,j,k,x,y,z:longint;
n,bt:longint;
s:ansistring;
a,b:array[1..50000]of longint;
aaa,aab:longint;
begin
readln(n);
s:='';
y:=0;
for i:=1 to n do begin
read(x);
for j:=1 to x-y do
s:=s+'(';
y:=x;
s:=s+')'
end;
n:=length(s);
x:=0;
fillchar(a,sizeof(a),0);
bt:=0;
fillchar(b,sizeof(a),0);
for i:=1 to n do begin
if s[i]='(' then begin
inc(x);
a[x]:=i;
end else begin
y:=a[x];
z:=0;
for j:=y to i do
if s[j]=')' then inc(z);
inc(bt);
b[bt]:=z;
a[x]:=0;
dec(x);
end;
end;
for i:=1 to bt-1 do
write(b[i],' ');
writeln(b[bt])end.
我是纯模拟