求助
  • 板块学术版
  • 楼主Maxuejun
  • 当前回复4
  • 已保存回复4
  • 发布时间2023/10/1 16:55
  • 上次更新2023/11/2 16:45:24
查看原帖
求助
935711
Maxuejun楼主2023/10/1 16:55

题目传送门

为什么只有50pts啊!!

#include<bits/stdc++.h>
using namespace std;
int n,m,k,nx,ny,lenth;
char opt; 
int read(){
	int x=0,f=1;
	char c=getchar();
	while(c<'0'||c>'9'){
		if(c=='-')f=-1;
		c=getchar();
	}
	while(c>='0'&&c<='9'){
		x=x*10+c-'0';
		c=getchar();
	}
	return x*f;
}
void write(int x){
	if(x<0){
		x=-x;
		putchar('-');
	}
	if(x>9)write(x/10);
	putchar(x%10+'0');
}
void scanf(){
	n=read();m=read();k=read();nx=read();ny=read();
}
void judge(){
	while(k--){
		cin>>opt;lenth=read();
		if(opt=='u')nx=max(1,nx-lenth);
		else if(opt=='d')nx=min(n,nx+lenth);
		else if(opt=='l')ny=max(1,ny-lenth);
		else if(opt=='r')ny=min(m,ny+lenth);
	}
}
void print(){
	write(nx);putchar(' ');write(ny);
}
int main(){
    scanf();
    judge();
	print();
	return 0;
}
2023/10/1 16:55
加载中...