头像

OS




离线:9天前


新鲜事 原文

OS
6个月前
为什么会没有输出啊,照着y总的代码写的迷宫问题、 #include<bits/stdc++.h> #define x first #define y second using namespace std; typedef pair<int,int >PII; const int N=1010,M=N*N; int n; int g[N][N]; PII q[M]; PII pre[N][N]; void bfs(int sx,int sy) { int dx[4]={-1,0,1,0},dy[4]={0,1,0,-1}; int hh=0,tt=0; q[0] = {sx,sy}; memset(pre,-1,sizeof pre); pre[sx][sy] = {0,0}; while(hh<=tt) { PII t=q[hh++]; for(int i=0;i<4;i++) { int a=t.x+dx[i],b=t.y+dy[i]; if(a<0||a>=n||b<0||b>=n) continue; if(g[a][b]) continue; if(pre[a][b].x != -1) continue; q[++tt] = {a, b}; pre[a][b]=t; } } } int main() { scanf("%d",&n); for(int i=0;i<n;i++) for(int j=0;i<n;j++) scanf("%d",&g[i][j]); bfs(n-1,n-1); PII end(0,0); while(true) { printf("%d %d\n",end.x,end.y); if(end.x==n-1&&end.y==n-1) break; end=pre[end.x][end.y]; } return 0; }


活动打卡代码 AcWing 785. 快速排序

OS
7个月前
#include<bits/stdc++.h>
using namespace std;
int a[100010];
void the_sort(int ,int); 
int main()
{
    int n;
    cin>>n;
    for(int i=1;i<=n;i++)
    {
        scanf("%d",&a[i]);
    }
    the_sort(1,n);
    for(int i=1;i<=n;i++)
    {
        printf("%d",a[i]);
    }
    return 0;
}
void the_sort(int l,int r)
{
    int i,j,mid;
    i=l;
    j=r;
    mid=a[(l+r)/2];
    do
    {
        while(a[i]<mid) i++;
        while(a[j]>mid) j--;
        if(i<=j)
        {
            swap(a[i],a[j]);
            i++;
            j--;
        }
    }while(i<=j);
    if(l<j) the_sort(l,j);
    if(i<r) the_sort(i,r);
}