56 条题解
-
0naneux LV 8 @ 2009-10-23 21:07:22
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms -
02009-10-14 16:07:45@
这题编程不难,就是想到用二分图染色来做就不简单了。
看了高人证明那个不在同一个栈的充分必要条件的题解,恍然大悟!
-
02009-10-13 00:00:26@
procedure dfs(ii:longint);
var i,j,k,l:longint;
begin
k:=-1;
for i:=1 to g[ii,0] do
if (b[g[ii,i]]>=0)and (k>=0)and (kb[g[ii,i]]) then begin writeln('0');halt;end
else if b[g[ii,i]]>=0 then k:=b[g[ii,i]];
b[ii]:=(k+1) mod 2;
for i:=1 to g[ii,0] do if b[g[ii,i]] -
02009-10-12 19:03:49@
哇~不错的题。
很巧妙啊。
编程复杂度不高,但绝对很难想到思路啊
BSvj的bug。
同一个程序交了三遍才过 -
02009-10-10 20:03:04@
猥琐的图论建模。。
-
02009-10-07 09:10:12@
我第一次看到这题时想到了贪心...........
后来老师教我们说是二分图
这题是去年提高组唯一一道不水的题啊 -
02009-10-06 21:30:46@
此题甚妙,首先是题目的模型非常隐蔽,估计考场上不会有人看出的(比赛时很nervous)。主要是考了图的二着色问题。如果看出了这点,下面就是编程复杂度的问题了。太难了!!!!
-
02009-10-05 17:19:35@
orz
比赛的时候打死我都想不出这种方法 -
02009-10-05 11:17:44@
秒杀之。。。
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms -
02009-09-25 22:17:04@
很综合的题···
二分图+并查集+宽搜
可能是我太弱了~
判断入哪个栈用的是二分图
判断是否是是二分图我用了并查集。。这样操作还是很方便的
染色第一次DFS结果还是30分。。吐血啊。。即使我做出来还是没一等。。。
然后改成了一个简单的BFS。。。 -
02009-09-24 13:22:05@
对于元素a[i],a[j],a[k]若存在
a[j]>a[i]>a[k] 且 i -
02009-09-20 16:56:40@
什么和什么嘛。。。。。
考虑对于任意两个数q1[i]和q1[j]来说,它们不能压入同一个栈中的充要条件是什么(注意没有必要使它们同时存在于同一个栈中,只是压入了同一个栈).实际上,这个条件p是:存在一个k,使得i
-
02009-09-18 22:18:32@
额....3次才AC..这题算法简单,处理起来麻烦啊...
-
02009-09-11 15:06:57@
program twostack;
var
i,j,now,n:integer;
f:boolean;
table:array [1..1000,1..1000] of boolean;
c,a,num:array [1..1000] of integer;
ans:ansistring;
flag:array [1..1000] of boolean;
t:array [1..2] of integer;
s:array [1..2,0..1000] of integer;
procedure push(stack,no:integer);
begin
ans:=ans+chr((47+stack)*2+1);
inc(t[stack]);
s[stack,t[stack]]:=no;
end;
procedure eject(stack:integer);
begin
ans:=ans+chr((48+stack)*2);
dec(t[stack]);
inc(now);
end;
procedure error;
begin
writeln (0);
close (output);
halt;
end;
procedure color(node,cn:integer);
var i:integer;
begin
c[node]:=cn;flag[node]:=true;
for i:=1 to n do if (table[node,i]) and (flag[i]=false) then begin
if c[i]0 then error else if cn=1 then color(i,2) else color(i,1);
end;
flag[node]:=false;
end;
begin
fillchar (table,sizeof(table),0);
fillchar (c,sizeof(c),0);
fillchar (flag,sizeof(flag),0);
assign (input,'twostack.in');
reset (input);
readln (n);
for i:=1 to n do a[i]:=maxint;
for i:=1 to n do read (num[i]);
for i:=1 to n do for j:=i+1 to n do if num[j] -
02009-09-09 20:51:43@
#include
int a[1001];
char b[2001];
int c1[1001];
int c2[1001];
int main()
{
int n;
scanf("%d",&n);
int i,j,k,p=2;
for(i=1;i -
02009-09-06 21:08:27@
Orz 潘神牛!!!!!!!!
潘神牛!!!!!!!!!!
潘神牛!!!!!!!!!!
潘神牛!!!!!!!!!!
潘神牛!!!!!!!!!!
潘神牛!!!!!!!!!!
潘轶功神牛!!!!!!!!
-
02009-09-02 18:44:27@
好难呀>_
-
02009-08-22 14:30:11@
无语……
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms -
02009-08-18 17:13:16@
我弱了
-
02009-08-17 01:30:20@
我输出的时候忘记空格了也AC~
太神奇了~
刚交的时候突然想起来还愣了一下~
写的bfs~据说就连dfs都可以过~