21-真题
作者:
把头发掀起来看世界
,
2024-11-20 20:18:01
,
所有人可见
,
阅读 3
1.马鞍点
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
const int N=10010;
int a[N][N];
int l_min[N];
int h_max[N];
int main()
{
int n,m;
cin>>n>>m;
for(int i=1;i<=n;i++)
{
int max=-1;
for(int j=1;j<=m;j++)
{
cin>>a[i][j];
if(a[i][j]>max)max=a[i][j];
}
h_max[i]=max;
}
for(int j=1;j<=m;j++)
{
int min=0x3f3f3f3f;
for(int i=1;i<=n;i++)
{
if(a[i][j]<min)min=a[i][j];
}
l_min[j]=min;
}
int cnt=0;
for(int i=1;i<=n;i++)
{
for(int j=1;j<=m;j++)
{
if(a[i][j]==l_min[j]&&a[i][j]==h_max[i])
{
printf("%d %d %d\n",i,j,l_min[j]);
cnt++;
}
}
}
if(cnt==0)cout<<"NO"<<endl;
return 0;
}
/*
3 4
1 2 3 4
1 2 3 4
1 2 3 4
4 4
1 1 1 2
1 1 2 1
1 2 1 1
2 1 1 1
*/
2.完美数
#include <iostream>
using namespace std;
int perfect_num(int x)
{
int res=0;
for(int i=1;i<x;i++)
{
if(x%i==0)res+=i;
}
if(res==x)return x;
else return -1;
}
int main()
{
int n,res;
cin>>n;
res=perfect_num(n);
if(res!=-1)cout<<"true"<<endl;
else cout<<"flase"<<endl;
for(int i=1;i<10000;i++)
{
int ans=0;
ans=perfect_num(i);
if(ans!=-1)cout<<i<<" ";
}
return 0;
}
3.机器人复制
#include <iostream>
#include <algorithm>
using namespace std;
const int N=110;
int f[N];
int main()
{
int n;
cin>>n;
for(int i=1;i<=4;i++)
{
f[i]=i;
}
for(int i=5;i<=n;i++)
{
f[i]=f[i-3]+f[i-1];
}
cout<<f[n]<<endl;
return 0;
}
非常好