13/44

初赛的成绩一直还没有下来,不过我的58分没问题。

这几天一直在刷USACO的题,现在一直在第一章徘徊。虽然说第一章真的很水,不过要把程序写出来,也没有那么简单。我曾经写出过极其恶心的代码,比如(你得拖底下的滚动条看):

...
for(m[1] = 0; m[1] <= 3; m[1]++)
{
	for(m[2] = 0; m[2] <= 3; m[2]++)
	{
		for(m[3] = 0; m[3] <= 3; m[3]++)
		{
			for(m[4] = 0; m[4] <= 3; m[4]++)
			{
				for(m[5] = 0; m[5] <= 3; m[5]++)
				{
					for(m[6] = 0; m[6] <= 3; m[6]++)
					{
						for(m[7] = 0; m[7] <= 3; m[7]++)
						{
							for(m[8] = 0; m[8] <= 3; m[8]++)
							{
								for(m[9] = 0; m[9] <= 3; m[9]++)
								{
									if(is_finish(cur_clocks))
									{
										cur_len = 0;
										for(i = 1; i <= 9; i++)
											cur_len += m[i];
										if(cur_len == shortest_len)
										{
											count++;
											j = 0;
											for(i = 1; i <= 9; i++)
											{
												if(m[i] > 0)
												{
													for(k = 1; k <= m[i]; k++)
													{
														j++;
														moves[count][j] = i;
													}
												}
											}
										}
										else if(cur_len < shortest_len)
										{
											count = 1;
											shortest_len = cur_len;
											j = 0;
											for(i = 1; i <= 9; i++)
											{
												if(m[i] > 0)
												{
													for(k = 1; k <= m[i]; k++)
													{
														j++;
														moves[count][j] = i;
													}
												}
											}
										}
									}
									move(cur_clocks, 9);
								}
								move(cur_clocks, 8);
							}
							move(cur_clocks, 7);
						}
						move(cur_clocks, 6);
					}
					move(cur_clocks, 5);
				}
				move(cur_clocks, 4);
			}
			move(cur_clocks, 3);
		}
		move(cur_clocks, 2);
	}
	move(cur_clocks, 1);
}
...

这实在是太糙了……不过USACO数据弱,竟然过了。于是安慰自己,这种题谈不上什么高级的算法,暴力搜索就好,K.I.S.S.嘛,好吧。至少针对水题,用点水方法也不是不行。

Wave已经用上了,可是,没有人跟我一块Wave……于是什么也感受不出来。更杯具的是,咱现在还没法发邀请。嗯,那就先放放吧,等以后大家都用上应该就能感受到威力了。

今天打开Synaptic,瞎翻,发现GNOME Shell就在源里。一阵欣喜,然后安装。现在正在体验,感觉不错,稳定性也挺好。只是因为是早期版本,好多功能还有待完善。但这种形式我个人认为还是不错的。

这几天USACO保持一天一个Section的进度,后天就能昂首挺进第二章了。

水果新出了鼠标,如果未来相关的Linux驱动完善的话,可考虑入手一。