不靠谱的人写的靠谱题解包含全网唯一新解法
2026-10-03 11:56:07
发布于:江西
27阅读
0回复
0点赞
做这题我有两个办法(第二个方法为新解法,大佬们可以直接跳伞过去),第一个方法我将他命名为:
宇宙无敌超级暴力虽然可能超时而且写的多写这么多应该够水篇幅了吧哈哈哈方法(方法一):
我们可以先把这道题看做画蛇形图,那么
就可以惊奇的发现奇数列是从上往下排列,
而偶数列则是从下往上排列,那么就可以进行分类讨论。
代码如下:
#include<bits/stdc++.h>
using namespace std;
bool cmp(int a,int b){
return a>b;
}
int main()
{
int n,m,a[200]={0},a1,mp[11][11]={0},cnt=0;
cin>>n>>m;
for(int i=1;i<=n*m;i++){
cin>>a[i];
}
a1=a[1];
sort(a+1,a+n*m+1,cmp);
for(int i=1;i<=m;i++){
if(i%2==1){
for(int j=1;j<=n;j++){
mp[i][j]=a[++cnt];
if(mp[i][j]==a1){
cout<<i<<' '<<j;
return 0;
}
}
}else{
for(int j=n;j>=1;j--){
mp[i][j]=a[++cnt];
if(mp[i][j]==a1){
cout<<i<<' '<<j;
return 0;
}
}
}
}
return 0;
}
当然,这是最暴力的方法,为了成为一个高雅的入,我发现了第二个方法!我将它命名为:
超赖皮但高雅而简短的美丽的玉树临风英俊潇洒风流倜傥额虽然没我帅但用算公式的方法人看不懂神看不懂老师也看不懂过五秒后我也不一定看的懂超级厉害的作者没用AI两个标题都是作者先想的是不是起的很好而且还有拖篇幅的实用的方法(方法二):
简而言之就是先得到排名再推出公式,可以很轻松的发现
目标位置的列就会是(cnt+n-1)/n,而奇数列上的目标行为cnt-(c-1)*n,
偶数列上的目标行为(n+1)-cnt-(c-1)*n,
由此,这段跟m没有半点关系的代码如下:
#include<bits/stdc++.h>
using namespace std;
int main(){
int n,m,a,x,cnt=1;
cin>>n>>m;
cin>>a;
for(int i=1;i<n*m;i++){
cin>>x;
if(x>a) cnt++;
}
int c=(cnt+n-1)/n,r;
cout<<c<<' ';
if(c%2==1) r=cnt-(c-1)*n;
else r=(n+1)-(cnt-(c-1)*n);
cout<<r;
return 0;
}
哦,是大模拟时代来临了!
全部评论 1








































































































































































































4天前 来自 江西
2
4天前 来自 江西
1???
3天前 来自 江西
1








有帮助,赞一个