#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%都表达不出来的人,我空有个足够强大的内心世界。
我想改变,却怎么也改变不了!
又一个五年,真的可以决定你是一个什么样的人,从这个起点,你才能一步一步往上爬!
-------------------------------------------
犯了这么巨大的错误,居然还得了山东省一等奖,比赛还是太水了,省与省之间的差距大抵如此!
我想要一个全国一等奖,很远吗?