编译器成精了,每次运行结果不一样
  • 板块学术版
  • 楼主Fp0cY1tZ6Nn4Rd_
  • 当前回复5
  • 已保存回复5
  • 发布时间2023/10/14 23:51
  • 上次更新2023/11/2 13:45:47
查看原帖
编译器成精了,每次运行结果不一样
1002529
Fp0cY1tZ6Nn4Rd_楼主2023/10/14 23:51

代码:

#include<iostream>
#include<algorithm>
#include<string>
using namespace std;
int n;
int main(){
//	freopen("stick.in","r",stdin);
//	freopen("stick.out","w",stdout);
	ios::sync_with_stdio(false);
	int f[10],dp[100];
	f[1]=2;f[2]=5;f[3]=5;f[4]=4;f[5]=5;f[6]=6;f[7]=3;f[8]=7;f[9]=6;f[0]=6;
	cin>>n;
	if(n==6){
		cout<<0<<" ";
		goto next;
	}
	dp[2]=1;dp[3]=7;dp[4]=4;dp[5]=2;dp[6]=6;dp[7]=8;
	for(int i=8;i<=n;i++){
		dp[i]=dp[i-f[0]]*10;
		for(int j=0;j<=9;j++)
			if(dp[i-f[j]]!=0)
				dp[i]=min(dp[i],dp[i-f[j]]*10+j);
	}
	cout<<dp[n]<<" ";
	next:
	if(n&1){
		cout<<"7";
		n-=3;
		for(int i=1;i<=(n>>1);i++)
			cout<<"1";
	}
	cout<<endl;
	return 0;
}

编译选项:-std=c++11 -O2 -DONLINE_JUDGE -Wall

输入 15,每次运行的结果不一样。求大佬解答。

2023/10/14 23:51
加载中...