ICPC2020 南京. A. Ah, It's Yesterday Once More(构造)
\(Description\)
在一个\(20\times20\)的网格上,构造一棵树(边是四连通),满足:树上每个点上有一个人,每次随机上下左右走一格(走到树外则原地不动消耗一次),有超过\(25\%\)的概率\(50000\)步后所有人不会走到同一个点。
\(Solution\)
只需尽可能让路径长(是吧?)。
也就是要让空间利用率尽可能高。蛇形路径空间利用率低(约\(\frac12\))(可以随机一百次求一下概率),阶梯型路径利用率高就可以过了(约\(\frac23\))。
阶梯型拿excel随便搞搞就弄出来了:
主要是注意可以弄这个结构:
然后能额外扩展的部分就多扩展一下,尽可能覆盖多的格子。
这个题现场只过了6个。。感觉硬猜的话还行吧,不能用excel应该是最大的难题。
提交记录基本都一样,用了\(267\)个格子或者\(240+\),我用了\(268\)个hhh。
#include <bits/stdc++.h>
int main()
{
puts("20 20");
puts("11111101111101111101");
puts("10010110010110010111");
puts("01011011011011011001");
puts("11101101101101101101");
puts("10110110110110110110");
puts("11011011011011011011");
puts("01101101101101101101");
puts("10110110110110110111");
puts("10011011011011011001");
puts("11101101101101101101");
puts("10110110110110110110");
puts("11011011011011011011");
puts("01101101101101101101");
puts("10110110110110110111");
puts("10011011011011011001");
puts("11101101101101101101");
puts("10110110110110110110");
puts("11011011011011011011");
puts("01001101001101001101");
puts("11110111110111110111");
return 0;
}
------------------------------------------------------------------------------------------------------------------------
很久以前的奇怪但现在依旧成立的签名
attack is our red sun $$\color{red}{\boxed{\color{red}{attack\ is\ our\ red\ sun}}}$$ ------------------------------------------------------------------------------------------------------------------------
很久以前的奇怪但现在依旧成立的签名
attack is our red sun $$\color{red}{\boxed{\color{red}{attack\ is\ our\ red\ sun}}}$$ ------------------------------------------------------------------------------------------------------------------------