#include<iostream>
#include<cstdio>
#include<map>
#include<cstring>
#include<cmath>
#include<vector>
#include<algorithm>
#include<set>
#include<string>
#include<queue>
#include <stack>
using namespace std;
#pragma warning(disable : 4996)
int ans[100];
bool vis[100];
int result;
int n, index;
void dfs(int cnt, int x)
{
if(cnt == x + 1)
{
int sum = 0;
for(int i = 1; i <= x; i++)
{
sum = sum * 10 + ans[i];
}
int mod = 10;
for(int j = 1; j <= 8; j++)
{
int p = sum / mod;
int q = sum % mod;
if(p == 0 || q == 0)
{
break;
}
if(p % q == 0)
{
if(n == p / q + index)
{
result++;
printf("%d %d %d %d\n", sum, p, q, index);
}
}
mod *= 10;
}
return;
}
for(int i = 1; i <= 9; i++)
{
if(!vis[i])
{
ans[cnt] = i;
vis[i] = true;
dfs(cnt + 1, x);
vis[i] = false;
}
}
}
int main()
{
int num[10];
int color;
//cin >> n;
n = 105;
result = 0;
for(index = 1; index <= n; index++)
{
color = 0;
memset(vis, false, sizeof(vis));
bool flag = false; //枚举加数
int z = 1;
int y = index;
while (y != 0)
{
num[z++] = y % 10;
vis[y % 10] = true;
y /= 10;
color++;
}
for(int i = 1; i < z; i++)
{
if(num[i] == 0)
{
flag = true;
break;
}
for(int j = i + 1; j < z; j++)
{
if(num[i] == num[j])
{
flag = true;
break;
}
}
}
if(flag)
{
continue;
}
//cout << index << " " << color << endl;
dfs(1, 9 - color);
}
}
把一个j错写成了1.
调试了半个小时,当时在想,已经完成了大部分代码,中间结果都已经pass了,在努力一下,然后剩下的时间检查其他的程序。也在愤愤不平,过不了,就这样一直耗着。
因为它的分值,足够吸引我这么去做。
设想到了能够面对的所有困难,但是却没有考虑一个最大的隐患——心。
就这样结束了这次蓝桥杯。
回宿舍的途中,突然有种想哭的感觉。
马上就要大三了,我还有多少机会?
当初选择软件工程的时候,就是想把心中所设想的软件都能实现出来,可是现在我还不能做到。
因为ACM,我改变了所有的计划,因为我不服!
不知道这样的舍弃值不值得?
几个月前,我想了我的人生规划。
在那所城市,爸爸妈妈奋斗了大半辈子,为我们哥俩买房买车,让我们过着体面一些,如果没有这些,你就是一傻逼。
妈妈不止一次想让我找女朋友,他们以他们的价值观来指导我们,我只是以浪费时间搪塞过去了。
我当然想有女朋友,可是我也知道,当我想找女朋友的时候,一定是我有一定的物质基础了。当我想结婚的时候,一定是有房有车的时候,你有什么资格让你喜欢的人和你一起受苦,真喜欢她,就放过她吧!
我一无所有,我凭什么去享受生活。
爸爸妈妈想让我一直和他们在一起,也不止一次告诉我,在我们那经商,也比你工作赚的钱多。
可是我真的做不了那样的人。
给我5年的时间,看我还能做点什么!
我是一个连自己内心想法的20%都表达不出来的人,我空有个足够强大的内心世界。
我想改变,却怎么也改变不了!
又一个五年,真的可以决定你是一个什么样的人,从这个起点,你才能一步一步往上爬!
-------------------------------------------
犯了这么巨大的错误,居然还得了山东省一等奖,比赛还是太水了,省与省之间的差距大抵如此!
我想要一个全国一等奖,很远吗?