离谱
  • 板块学术版
  • 楼主左丞相953105
  • 当前回复1
  • 已保存回复1
  • 发布时间2021/10/3 12:41
  • 上次更新2023/11/4 05:03:07
查看原帖
离谱
498893
左丞相953105楼主2021/10/3 12:41

谁能告诉我为啥这玩意运行起来占了30%的CPU还出不来结果

#include<iostream>
#include<string>
#include<cstring>
#include<cmath>
#include <algorithm>
#include<cstdio>
#include<iomanip>
#include<stack>
#include<queue>
#include<deque>
using namespace std;
int main(){
	//freopen("test.in","r",stdin);
	//freopen("test.out","w",stdout);
	int  x1,x2,y1,y2,t1=1,t2=1;
	int j,k,l,i;
	int p[10][10]={{2,1},{1,2},{2,2},{1,1},{0,0}};
	cin>>x1>>y1>>x2>>y2;
	int a,b;
	b=0;
	while(t1!=x1&&t2!=y1){
		t1+=p[1][1];
		t2+=p[1][2];
		j=(x1-t1)+(y1-t2);
		t1=1;
		t2=1;
		t1+=p[2][1];
		t2+=p[2][2];
		k=(x1-t1)+(y1-t2);
		t1=1;
		t2=1;
		t1+=p[3][1];
		t2+=p[3][2];
		l=(x1-t1)+(y1-t2);
		t1=1;
		t2=1;
		t1+=p[4][1];
		t2+=p[4][2];
		i=(x1-t1)+(y1-t2);
		t1=1;
		t2=1;
		if(j>=k&&j>=l&&j>=i){
			t1+=p[1][1];
			t2+=p[1][2];
		}
		if(k>=j&&k>=l&&k>=i){
			t1+=p[2][1];
			t2+=p[2][2];
		}
		if(l>=j&&l>=k&&l>=i){
			t1+=p[3][1];
			t2+=p[3][2];
		}
		if(i>=k&&i>=l&&i>=j){
			t1+=p[4][1];
			t2+=p[4][2];
		}
		if(i>=k&&i>=l&&i>=j){
			t1+=p[5][1];
			t2+=p[5][2];
		}
		a++;
	}
	cout<<a<<endl;
	while(t1!=x2&&t2!=y2){
		t1+=p[1][1];
		t2+=p[1][2];
		j=(x2-t1)+(y2-t2);
		t1=1;
		t2=1;
		t1+=p[2][1];
		t2+=p[2][2];
		k=(x2-t1)+(y2-t2);
		t1=1;
		t2=1;
		t1+=p[3][1];
		t2+=p[3][2];
		l=(x2-t1)+(y2-t2);
		t1=1;
		t2=1;
		t1+=p[4][1];
		t2+=p[4][2];
		i=(x2-t1)+(y2-t2);
		t1=1;
		t2=1;
		if(j>=k&&j>=l&&j>=i){
			t1+=p[1][1];
			t2+=p[1][2];
		}
		if(k>=j&&k>=l&&k>=i){
			t1+=p[2][1];
			t2+=p[2][2];
		}
		if(l>=j&&l>=k&&l>=i){
			t1+=p[3][1];
			t2+=p[3][2];
		}
		if(i>=k&&i>=l&&i>=j){
			t1+=p[4][1];
			t2+=p[4][2];
		}
		b++;
	}
	cout<<b;
	//fclose(stdin);
	//fclose(stdout);
    return 0;
}
2021/10/3 12:41
加载中...