codeforces309A的解题报告

codeforces的A题一般是比较简单的,题目的地址是http://codeforces.com/problemset/problem/390/A

题目的大意是:Inna是个贪睡虫,要有很多闹钟才能叫醒她。她的房间是个100*100的正方形格,每个整点可以放闹钟,左下角是(0,0),右上角是(100,100),然后她一开始可以选择水平或垂直类型,选定类型后,比如选了水平后,一个动作可以把水平的所有闹钟都关掉,垂直如此,要求输出最少的动作。

这个题目很简单,我们只要有两个数组,水平和垂直的各101个元素,然后根据输入的每个点进行记录,水平上的数组元素如果不为0代表x等于这个数的轴上有这个闹钟。然后比较水平和垂直上的数量,取最小的输出。

最近在学python,害的我用C解决的时候老是忘记分号或是少个花括号。下面是python的解法:

a = input('')
v = [0]*101
h = [0]*101
vc = 0
hc = 0
for i in range(int(a)):
    b,c = raw_input('').split(' ')
    b = int(b)
    c = int(c)
    if h[b]==0:
        h[b] = 1
        hc+=1
    if v[c]==0:
        v[c] = 1
        vc+=1
print min(vc,hc)

下面是C的解法:

#include
int main()
{
	int h[101] = {0};
	int v[101] = {0};
	int v_count = 0;
	int h_count = 0;
	int a,i,b,c;
	scanf("%d",&a);
	for(i = 0;iv_count)
		printf("%d",v_count);
	else 
		printf("%d",h_count);
	return 0;
}

现在来评价我的解法:妈的,跟狗啃似的,一点命名规范都没有,这个我得好好改。

再说说开学的事,唉,寒假怎么这么快,明天就要开学了,有点抑郁。明天得去厦门,然后后天就上课了。下学期要好好做人,好好学习,不刷微博,不开微信。


你可能感兴趣的:(python)