CCF CSP 2014_12
1:门禁系统(100)
1.1 题目
1.2 代码与解答
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n,num[1005]={},ans[1005]={};
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>num[i];
ans[num[i]]++;
cout<<ans[num[i]]<<" ";
}
return 0;
}
2: Z字形扫描(100)
2.1 题目
2.2 代码与解答
结题思路:
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n,db[505][505]={},ans;
cin>>n;
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
{
cin>>db[i][j];
}
}
int max = 2*n-1;
for(int i=0;i<=max;i++)
{
if(i>(n-1))//当i已经到对角线之后,j的取值随之变化
{
for(int j=i-n+1;j<=n-1;j++)
{
if(i%2==0)
{
cout<<db[i-j][j]<<" ";
}
else if(i%2==1)
{
cout<<db[j][i-j]<<" ";
}
}
}
else//否则j取值从零开始,取到对角线位置
{
for(int j=0;j<=i;j++)
{
if(i%2==0)
{
cout<<db[i-j][j]<<" ";
}
else if(i%2==1)
{
cout<<db[j][i-j]<<" ";
}
}
}
}
return 0;
}
3: 集合竞价
3.1 题目
3.2 代码与解答
4: 最优灌溉
4.1 题目
4.2 代码与解答
5: 货物调度
5.1 题目
5.2 代码与解答