作业介绍

赛车

#include<bits/stdc++.h>
using namespace std;

int n,x,y;
int step = 1;
int step1 = 1;
char s[1005];
int a[105][105];
int main(){
    cin >> n >> x >> y;
    a[x][y] = 1;
    cin >> s;
    int l1 = strlen(s);
    for(int i=0; i<l1; i++){
        step1 = step;
        //上
        if(s[i]=='1'){
            while(step1){
                if(x-1 < 1) break;
                a[--x][y] = 1;
                step1--;
            }
            if(step1 && x==1) break;
        }

        //下
        else if(s[i]=='2'){
            while(step1){
                if(x+1>n) break;
                a[++x][y] = 1;
                step1--;
            }
            if(step1 && x==n) break;
        }

        //左
        else if(s[i]=='3'){
            while(step1){
                if(y-1<1) break;
                a[x][--y] = 1;
                step1--;
            }
            if(step1 && y==1) break;
        }

        //右
        else if(s[i]=='4'){
            while(step1){
                if(y+1>n) break;
                a[x][++y] = 1;
                step1--;
            }
            if(step1 && y==n) break;
        }

        //步数减少
        if(s[i]=='A'){
            step--;
            if(step<1) step = 1;
        }

        //步数增加
        if(s[i]=='B') step++;
    }

    for(int i=1; i<=n; i++){
        for(int j=1; j<=n; j++) cout << a[i][j] << " ";
        cout << endl;
    }
    return 0;
}

转圈圈

#include<iostream>
#include<cstdio>
using namespace std;
int dir[4][2]={-1,0,0,-1,1,0,0,1};
int mat[505][505];
int main()
{
	int n , m;
	cin >> n >> m;
	int sx,sy;
	cin >> sx >> sy;
	int k , d;
	cin >> k >> d;
	mat[sx][sy] = 1;
	int step=k;
	while(step>0)
	{
		int bu=0;
		while(step!=0)
		{
			int xx = sx + dir[d][0]; 
			int yy = sy + dir[d][1]; 
			if(xx<1||xx>n||yy<1||yy>m)
			{
				break;
			}
			sx =xx;
			sy =yy;
			mat[sx][sy] = 1;
			bu++;
			step--;
		}
		d = (d+1) % 4 ;
		step = bu-1;
	}
	for(int i=1;i<=n;i++)
	{
		for(int j=1;j<=m;j++)
		{
			cout << mat[i][j];
		}
		cout << endl;
	}
	
	return 0;
}
状态
已结束
题目
6
开始时间
2024-5-30 0:00
截止时间
2024-7-31 23:59
可延期
24 小时