信息学奥赛一本通---第五章--- 数 组--- 1119-1128 (第二节)题解

78 阅读2分钟

注:此为c++代码

    虽然我的代码无注释,但如想复制,必须完全搞懂代码所对应的题!

Dev c++这东西点进来的都有吧,详情见我的另一篇文章。

正式进入题解部分:          (本人小白,大佬们请勿吐槽)

1119:

#include<bits/stdc++.h>
using namespace std;
int a[6][6],b,c;
int main()
{
	for(int i=1;i<=5;i++)
	{
		for(int j=1;j<=5;j++)
		{
			cin>>a[i][j];
		}
	}
	cin>>b>>c;
	for(int i=1;i<=5;i++)
	{
		for(int j=1;j<=5;j++)
		{
			if(i==b)
			{
				swap(a[i][j],a[c][j]);
			}
		}
	}
	for(int i=1;i<=5;i++)
	{
		for(int j=1;j<=5;j++)
		{
			cout<<a[i][j]<<" ";
		}
		cout<<endl;
	}
	return 0;
}

1120:

#include<bits/stdc++.h>
using namespace std; 
int n,x,y;
int main() 
{
    
    cin>>n;
    cin>>x>>y;
    for(int i=1;i<=n;i++)
    {
        printf("(%d,%d) ",x,i);
    }
    cout<<endl;
    for(int i=1;i<=n;i++)
 	{
		printf("(%d,%d) ",i,y);
    }
    cout<<endl;
    for(int i=1;i<=n;i++)
    {
        for(int j=1;j<=n;j++)
        {
            if(x-y==i-j)
            {
            
                printf("(%d,%d) ",i,j);
            }
        }
    }
    cout<<endl;
    for(int i=n;i>=1;i--)
    {
        for(int j=n;j>=1;j--)
        {
            if(x+y==i+j)
            {
                printf("(%d,%d) ",i,j);
            }
        }
    }
    cout<<endl;
    return 0;
}

1121:

#include<bits/stdc++.h>
using namespace std;
int n,m,a[101][101],sum;
int main()
{
    cin>>n>>m;
 	for(int i=1;i<=n;i++)
    {
        for(int j=1;j<=m;j++)
        {
            cin>>a[i][j];
            if(i==1||i==n||j==1||j==m)
            {
                sum+=a[i][j];
            }
        }
    }
    cout<<sum<<endl;
    return 0;
}

1122:

#include<bits/stdc++.h>
using namespace std; 
int a[5][5],maxx,point,flag=1,work=1;
int main() 
{
    
    for(int i=0;i<5;i++)
    {
        for(int j=0; j<5; j++)
        {
             cin>>a[i][j];
		}
	}
    for(int i=0;i<5;i++) 
    {
        maxx=a[i][0];
        point=0;
        for(int j=1;j<5;j++) 
        {
            if(maxx<a[i][j])
            {             
                maxx=a[i][j];             
                point=j;
            }
        }
        flag=1;
        for(int j=0;j<5;j++) 
        {
            if(a[j][point]<maxx)
            {
            	flag=0;
            }
        }
        if(flag)
        {
            cout<<i+1<<" "<<point+1<<" "<<maxx<<endl;
            return 0;
        }
    }
    cout<<"not found"<<endl;
    return 0;
}

1123:

#include<bits/stdc++.h>
using namespace std;
int m,n,a[101][101],b[101][101],sum;
double semblance;
int main() 
{
    cin>>m>>n;
    for(int i=1;i<=m;i++)
    {
        for(int j=1;j<=n;j++)
        {
            cin>>a[i][j];
        }
	}
    for(int i=1;i<=m;i++)
    {
        for(int j=1;j<=n;j++)
        {
            cin>>b[i][j];
            if(a[i][j]==b[i][j])
            {
                sum++;
            }
        }
	}
    semblance=sum*1.0/(n*m)*100;
    printf("%.2lf\n",semblance);
    return 0;
}

1124:

#include<bits/stdc++.h>
using namespace std;
int  n,m,a[101][101],b[101][101];
int main()
{ 
	cin>>n>>m;
	for(int i=1;i<=n;i++)
	{
		for(int j=1;j<=m;j++)
		{
			cin>>a[i][j];
		}
	}
	for(int i=1;i<=n;i++)
	{
		for(int j=1;j<=m;j++)
		{
			cin>>b[i][j];
		}
	}
	for(int i=1;i<=n;i++)
	{
		for(int j=1;j<=m;j++)
		{
			cout<<a[i][j]+b[i][j]<<" ";
		}
		cout<<endl;
	}
	return 0;
}

1125:

#include<bits/stdc++.h>
using namespace std; 
int n,m,k,a[101][101],b[101][101],c[101][101];
int main() 
{
    
    cin>>n>>m>>k;
    for(int i=1;i<=n;i++)
    {
    	for(int j=1;j<=m;j++)
    	{
    		cin>>a[i][j];
    	}
    }
    for(int i=1;i<=m;i++)
    {
    	for(int j=1;j<=k;j++)
    	{
    		cin>>b[i][j];
    	}     
    }
    for(int i=1;i<=n;i++)
    {
    	for(int j=1;j<=k;j++)
    	{
    		for(int k1=1;k1<=m;k1++)
    		{
    			c[i][j]+=a[i][k1]*b[k1][j];
    		}
    	}    
    }
    for(int i=1;i<=n;i++)
    {
        for(int j=1;j<=k;j++)
        {
        	cout<<c[i][j]<<" ";
        } 
		cout<<endl;
    }
    return 0;
}

1126:

#include<bits/stdc++.h>
using namespace std;
int a,b,c[10001][10001];
int main() 
{
    cin>>a>>b;   
    for(int i=1;i<=a;i++)
    {
		for(int j=1;j<=b;j++)
		{
			cin>>c[i][j];
		}
    } 
    for(int i=1;i<=b;i++)
    {
        for(int j=1;j<=a;j++)
        {
        	cout<<c[j][i]<<" ";
        }
		cout<<endl;
    }
    return 0;
}

1127:

#include<bits/stdc++.h>
using namespace std;
int  n,m,a[101][101]; 
int main()
{ 
	cin>>n>>m;
	for(int i=1;i<=n;i++)
	{
		for(int j=1;j<=m;j++)
		{
			cin>>a[i][j];
		}
	}
	for(int i=1;i<=m;i++)
	{
		for(int j=n;j>=1;j--)
		{
			cout<<a[j][i]<<" ";
		}
		cout<<endl;
	}
    return 0;
}

1128:

#include<bits/stdc++.h>
using namespace std;
int a[1001][1001],m,n;
double b[1001][1001];
int main() 
{
    cin>>n>>m;
    for(int i=1;i<=n;i++)
    {
        for(int j=1;j<=m;j++)
        {
            cin>>a[i][j];
        }
	}
    for(int i=1;i<=n;i++)
    {
        for(int j=1;j<=m;j++)
        {
            if(i==1||i==n||j==1||j==m)
            {
                b[i][j]=a[i][j];
            }
            else
            {
            	b[i][j]=round((a[i][j]+a[i-1][j]+a[i+1][j]+a[i][j-1]+a[i][j+1])/5.0);
            }
        }
    }
    for(int i=1;i<=n;i++)
    {
        for(int j=1;j<=m;j++)
        {
            cout<<b[i][j]<<" ";
        }
		cout<<endl;
    }
    return 0;
}

个人码风,不喜勿喷

下周发:

信息学奥赛一本通---第五章--- 数 组--- 1129-1148 (第三节)题解