官方题解:题解
B:

#include <bits/stdc++.h>
using namespace std;
int vis[200][200]={0};
int main()
{
     int n,m,x,y;
     cin>>n>>m>>x>>y;
     vis[x][y] = 1;
     if(!vis[1][y])
     printf("%d %d\n",1,y);
     vis[1][y] =1;

     if(!vis[1][1])
     printf("%d %d\n",1,1);
     vis[1][1] = 1;

     for(int i=1;i<=n;i+=2)
     {
         //int j = 1;
         if(i<=n)
         for(int k=1;k<=m;k++)
         {
             if(!vis[i][k])
             {
                printf("%d %d\n",i,k);
                vis[i][k] = 1;
             }

         }
         if(i+1<=n)
         for(int k=m;k>=1;k--)
         {
             if(!vis[i+1][k])
             {
                 printf("%d %d\n",i+1,k);
                 vis[i+1][k] = 1;
             }
         }
     }
    return 0;
}