1. 程式人生 > 其它 >期末預測之最佳閾值

期末預測之最佳閾值

技術標籤:CCF演算法c++

202012-2
期末預測之最佳閾值
時間限制:1.0
空間限制:512

第一次提交程式碼如下:

#include<iostream>
using namespace std;
int main(){
	int m;
	int i;
	cin>>m;
	int* a=new int[m];//儲存安全指數
	int* b=new int[m];//儲存掛科的情況
	int* c=new int[m];//用來儲存以每個成績為閾值時預測正確的次數
	for(i=0;i<m;i++)
		cin>>a[i]>>b[i];
	for(i=0;i<m;i++)
	{
		int yuzhi=a[i];
		int count=0;
		for(int j=0;j<m;j++)
		{
			if(a[j]>=yuzhi&&b[j]==1)
				count++;
			else if(a[j]<yuzhi&&b[j]==0)
				count++;
		}
		c[i]=count;
	}
	//c正確次數的陣列已經得到,接下來應該進行一個排序,
	//但是同時又要保證a裡面的閾值對應的數字不變
	int bestyz;//選出最佳的閾值
	int j=0;
	int max=c[j];
	for(i=1;i<m;i++)
	{
		if(max<c[i])
		{
			bestyz=a[i];
			max=c[i];
			j=i;
		}
		else if(max==c[i])
		{
			bestyz=a[j]>a[i]?a[j]:a[i];
		}
	}
	cout<<bestyz<<endl;
	return 0;
}

最總結果得分60

超時了,還需要再改進: