NOIP2012普及组初赛及答案(C++)
输入:CBBADADA 输出:____________
四、完善程序(前2空每空2分,后8空每空3分,共计28分)
1.(坐标统计)输入n个整点在平面上的坐标。对于每个点,可以控制所有位于它左下方的点(即x、y坐标都比它小),它可以控制的点的数目称为“战斗力”。依次输出每个点的战斗力,最后输出战斗力最高的点的编号(如果若干个点的战斗力并列最高,输出其中最大的编号)。
#include <iostream> using namespace std; const int SIZE =100; int x[SIZE],y[SIZE],f[SIZE]; int n,i,j,max_f,ans; int main() { }
2. (排列数)输入两个正整数n,m(1<n<20,1<m<n),在1~n中任取m个数,按字典序从小到大输出所有这样的排列。例如:
cin>>n;
for(i=1;i<=n;i++) cin>>x[i]>>y[i]; max_f=0;
for(i=1;i<=n;i++) { }
for(i=1;i<=n;i++) cout<<f[i]<<endl; cout<<ans<<endl; return 0;
f[i]= ① ; for(j=1;j<=n;j++) { }
if( ④ ) { }
max_f=f[i]; ⑤ ;
if(x[j]<x[i] && ② ) ③ ;