csp 201712-1 201712-2
阿新 • • 發佈:2018-12-30
csp認證每年前兩題的難度都比較低,加之時間空間要求較低,考驗的更多是基本功而不是演算法效率了。
#include<iostream>
using namespace std;
#define maxn 1000+10
int n;
#include<math.h>
int arr[maxn];
int main()
{
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>arr[i];
}
int minn=1000000000;
for(int i=1;i<=n;i++)
{
for (int j=i+1;j<=n;j++)
{
int tmp=abs(arr[i]-arr[j]);
minn=min(minn,tmp);
}
}
cout<<minn<<endl;
}
#include<iostream>
using namespace std;
#define maxn 1000+10
#include<math.h>
int arr[maxn];//用0初始化 1代表出局
int n,k;
int cnt=0;//報的數
int num;//剩餘人數
bool judge(int cnt)
{
if(cnt%10==k||cnt%k==0)
return false;
return true;
}
int main()
{
cin>>n>>k;
cnt=0;
num=n;
int i=1;
while(num!=1)
{
cnt++;
while(arr[i]==1)//find the next
i=(i+1>n?1:i+1);
if(judge(cnt))//ok
{i=(i+1>n?1:i+1);continue;}
else//kick off
{arr[i]=1;num--;}
}
i=1;
while(arr[i]==1)
i=(i+1>n?1:i+1);
cout<<i<<endl;
}
這題大一做過。沒想到csp認證也會出原題?