2017codecraft錯誤總結

錯誤1

錯誤代碼

int graph::get_grade(int grade)
{
	int ki;
	//找到服務器檔位高於need的最小檔位
	for(ki=server_count-1;ki>=0;ki--)
	{
		if(server[ki].out<grade)
			return ki+1;
	}	
}
正確代碼

int graph::get_grade(int grade)
{
	int ki;
	//找到服務器檔位高於need的最小檔位
	for(ki=server_count-1;ki>=0;ki--)
	{
		if(server[ki].out<grade)
			break;
	}	
	return ki+1;
}

如果始終不進入if那麼代碼1返回的值不確定


錯誤2

如果函數棧中的內存超出了限制將會出現一個段錯誤


錯誤3

resi_edge[edge[j].u][edge[j].v]-=delta;
resi_edge[edge[j].v][edge[j].u]+=delta;
錯寫成如下,當時檢測多次才發現這個嚴重的失誤
resi_edge[edge[j].u][edge[j].v]-=delta;
resi_edge[edge[j].u][edge[j].v]+=delta;



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章