2026-06-14 21:20:54
发布于:广东
比较笨的方法
#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
int main(){
int n,m;
cin>>n>>m;
vector<int> sc(n*m);
for(int i=0;i<n*m;i++){
cin>>sc[i];
}
vector<vector<int>> sit(n,vector<int>(m));
int t=1,a=sc[0];
int i=0,j=0;
for(;i<m;){
for(;j<n&&i%2==0;){
sit[j][i]=t;
t++;
if(j==n-1){
i++;
j=n-1;
break;
}
j++;
}
for(;j>=0&&i%2==1;){
sit[j][i]=t;
t++;
if(j==0){
i++;
j=0;
break;
}
j--;
}
}
vector<int> temp=sc;
sort(temp.rbegin(),temp.rend());
int turns;
for(int i=0;i<temp.size();i++){
if(temp[i]==a){
turns=i+1;
break;
}
}
for(int i=0;i<n;i++){
for(int j=0;j<m;j++){
if(sit[i][j]==turns){
cout<<j+1<<' '<<i+1;
return 0;
}
}
}
return 0;
}
全部评论 1
还是我当时的小模拟好(
#include<bits/stdc++.h> using namespace std; bool cmp(int x,int y){ return x>y; } int main(){ int n,m,a[110]; cin>>n>>m; int x=n*m; for(int i=1;i<=x;i++){ cin>>a[i]; }int num=a[1]; sort(a+1,a+x+1,cmp); int c=1,r=1,seat[15][15],k=1; while(true){ seat[c][r]=a[k],k++; if(seat[c][r]==num){ cout<<c<<' '<<r; return 0; } if(c%2==1 and r==n)c++; else if(c%2==0 and r==1)c++; else if(c%2==1)r++; else if(c%2==0)r--; } }19小时前 来自 上海
2帖主的方法太可怕了
19小时前 来自 上海
2


























有帮助,赞一个