求调
  • 板块灌水区
  • 楼主lucy2012
  • 当前回复2
  • 已保存回复2
  • 发布时间2024/9/6 23:33
  • 上次更新2024/9/7 11:06:18
查看原帖
求调
1252442
lucy2012楼主2024/9/6 23:33

题目

如果看不了题目注册一个号吧,信友队本来就挺好。

代码:

#include<bits/stdc++.h>
using namespace std;
int m,n,s[1010],d[1010];
void f(int x,int w){
	int k;
	k=x*d[w];
	if(w==1){
		if(k%2==0){
		    w=w-(k+1);
		    if(w<1){
			    cout<<x<<" ";
			    return;
		    }
	    }else{
		    w=w+(k+1);
		    if(w>n){
			    cout<<x<<" ";
			    return;
		    }
	    }
	    x-=k+1;
	}else{
		if(d[w]%2==0){
			w=w-(d[w]+1);
		    if(w<1){
			    cout<<x<<" ";
			    return;
		    }
		}else{
			w=w+(d[w]+1);
		    if(w>n){
			    cout<<x<<" ";
			    return;
		    }
		}
		x-=d[w];
	}
	if(x<k+1){
		cout<<x<<" ";
		return;
	}
	f(x,w);
}
int main(){
	cin>>m>>n;
	for(int i=1;i<=m;i++){
		cin>>s[i];
	}
	for(int i=1;i<=n;i++){
		cin>>d[i];
	}
	for(int i=1;i<=m;i++){
		f(s[i],1);
	}
	return 0;
}
2024/9/6 23:33
加载中...