问题标题: 酷町堂:5520

0
0
已解决
武建豪
武建豪
中级天翼
中级天翼

4701   螺旋输出矩阵经验值:0

题目描述 Description

给定一个包含 m x n 个元素的矩阵(m 行, n 列),请按照顺时针螺旋顺序,返回矩阵中的所有元素。

输入描述 Input Description

第一行,输入正整数m和n,
接下来m行,
每行输入n个正整数。

输出描述 Output Description

输出一行,按照顺时针螺旋顺序,输出矩阵中的所有元素,元素之间用空格隔开。

样例输入 Sample Input

3 3 1 2 3 4 5 6 7 8 9

样例输出 Sample Output

1 2 3 6 9 8 7 4 5

数据范围及提示 Data Size & Hint

n,m<=9 ,1<= 数组元素<=100

武建豪在2021-03-28 11:54:17追加了内容


#include<iostream>
using namespace std;
int main()
{
    int m,n,i,j;
    cin>>m>>n;
    int a[m][n];
    int num=1;
    for(i=0;i<m/2;i++)
    {
        for(j=i;j<n-i;j++)
           a[i][j]=num++;
        for(j=i+1;j<m-i;j++)
            a[j][n-i-1]=num++;
            for(j=n-i-2;j>i;j--)
              a[m-i-1][j]=num++;
            for(j=m-i-1;j>i;j--)
          a[j][i]=num++;
    }
    for(i=0;i<m;i++)
     {
       for(j=0;j<n;j++)
           cout<<a[i][j]<<' ';
       cout<<endl;
    }
}
 

武建豪在2021-03-29 21:34:35追加了内容

不懂就问:5520

经验值:800

题目描述 Description

东汉末年,刘备结识了关羽和张飞,他们决定一起匡扶汉室。于是在桃园结义,此时需要知道谁是大哥,要按照年龄排序。这个问题很简单。现在假设不止3个人,而是有n个人,请你帮这n个人按年龄从大到小排序。

 

输入描述 Input Description

第一行,一个整数n,表示人数

接下来n行,每行4个部分,name y m d,表示这个人的姓名和出生的年月日

 

输出描述 Output Description

把这n个人按照年龄从大到小排序,如果年龄一样,按照输入的顺序,先输入的后输出

 

样例输入 Sample Input

3

LiuBei 2020 1 1

GuanYu 2020 1 2

ZhangFei 2020 1 3

样例输出 Sample Output

LiuBei

GuanYu

ZhangFei

数据范围及提示 Data Size & Hint

n<=10000

#include<iostream>

#include<fstream>

#include<algorithm>

#include<cmath>

#include<cstdio>

#include<cstring>

#include<string>

#include<iomanip>

#include<cstdlib>

using namespace std;

struct STU{

string name;

int a,y,m,d,id,i;

} s[20000];

bool cmp(STU x,STU y){

if(x.y!=y.y) return x.y<y.y;

if(x.m!=y.m) return x.m<y.m;

    if(x.d!=y.d) return x.d<y.d;

    else return x.d>y.d;

    return x.id>y.id;

}

int n;

int main(){

    cin>>n;

for(int i=1;i<=n;i++){

        cin>>s[i].name>>s[i].y>>s[i].m>>s[i].d;

}

for(int i=1;i<=n;i++){

        s[i].id=i;

    }

sort(s+1,s+n+1,cmp);

for(int i=1;i<=n;i++){

cout<<s[i].name<<endl;

}

return 0;

}

样例都过了,但是是0分百思不得其解

武建豪在2021-03-29 21:44:00追加了内容

ding

武建豪在2021-03-30 22:30:20追加了内容

@张帆

#include<iostream>
#include<fstream>
#include<algorithm>
#include<cmath>
#include<cstdio>
#include<cstring>
#include<string>
#include<iomanip>
#include<cstdlib>
using namespace std;
struct STU{
    string name;
    int a,y,m,d,id,i;
} s[20000];
bool cmp(STU x,STU y){
    if(x.y!=y.y) return x.y<y.y;
    if(x.m!=y.m) return x.m<y.m;
    if(x.d!=y.d) return x.d<y.d;
    return x.id<y.id;
}
int n;
int main(){
    cin>>n;
    for(int i=1;i<=n;i++){
        cin>>s[i].name>>s[i].y>>s[i].m>>s[i].d;
    }
    for(int i=1;i<=n;i++){
        s[i].id=i;
    }
    sort(s+1,s+n+1,cmp);
    for(int i=1;i<=n;i++){
        cout<<s[i].name<<endl;
    }
    return 0;
}

0分

 


0
已采纳
周承阳
周承阳
高级守护
高级守护

5520

struct xx{

string 名字;

变量 x,y,z;

int id;

}a[77777];

bool cmp(xx x1,xx x2){

如果(x1.x!=x2.x){

返回 x1.x<x2.x;

}

如果(x1.y!=x2.y){

返回 x1.y<x2.y;

}

如果(x1.z!=x2.z){

返回 x1.z<x2.z;

}

返回 x1.id>x2.id;

}

int main(){

变量 n;

输入>>n;

循环(int i=1;i<=n;i++){

输入>>a[i].名字>>a[i].x>>a[i].y>>a[i].z;

a[i].id=i;

}

sort(a+1,a+n+1,cmp);

循环(int i=1;i<=n;i++){

输出<<a[i].名字<<换行;

周承阳在2021-03-30 22:41:55追加了内容

求采纳

0
张帆
张帆
中级天翼
中级天翼
bool cmp(STU x,STU y){
if(x.y!=y.y) return x.y<y.y;
if(x.m!=y.m) return x.m<y.m;
 if(x.d!=y.d) return x.d<y.d;
 else return x.d>y.d;
 return x.id>y.id;
}

to

bool cmp(STU x,STU y){
if(x.y!=y.y) return x.y<y.y;
if(x.m!=y.m) return x.m<y.m;
 if(x.d!=y.d) return x.d<y.d;
 return x.id<y.id;
}

得其解也。

张帆在2021-03-30 22:33:24追加了内容

好吧算我错了:

bool cmp(team a,team b){
	if(a.t1!=b.t1) return a.t1<b.t1;
	if(a.t2!=b.t2) return a.t2<b.t2;
	if(a.t3!=b.t3) return a.t3<b.t3;
	return a.idx>b.idx;
}
//这是我的

 

张帆在2021-03-30 22:33:29追加了内容

好吧算我错了:

bool cmp(team a,team b){
	if(a.t1!=b.t1) return a.t1<b.t1;
	if(a.t2!=b.t2) return a.t2<b.t2;
	if(a.t3!=b.t3) return a.t3<b.t3;
	return a.idx>b.idx;
}
//这是我的

 

0
江子周
江子周
中级守护
中级守护

我只讲5520哈(4701我也不会(虽然写过代码了……))

你这是啥?(多写的?)

 

PS:如果还是错,那么建议多检查检查这里(即核心代码),总会AC的~

祝早日AC!

0
朱小川
朱小川
缔造者
缔造者

我比较菜,讲完勿喷,我觉得if好像也可以吧(勿喷)

朱小川在2021-03-30 13:24:34追加了内容

我收回刚才的话

我要回答