zoj1204

来源:互联网 发布:淘宝电玩巴士商城黑吗 编辑:程序博客网 时间:2024/06/07 09:54

也是这个星期写的了

然而zoj识别不聊to_string

只好先贴上来

#include<iostream>#include<string>#include<algorithm>using namespace std;int num[30],a,b,f;int all;int add(int x, int s, int n, string str);int main(){cin >> a;for (int i = 0; i < a; i++){cin >> b;all = b;for (int j = 0; j < b; j++)cin >> num[j];sort(num, num + all);for (int k = 2; k < b; k++)add(-1, 0, k, "");if (!f)cout << "Can't find any equations." << endl;f = 0;cout << endl;}system("pause");return 0;}int add(int x, int s, int n, string str){int o = 0;if (s > num[all-1])return 1;if(n==0)for(int i=x+1;i<=all;i++)if (s == num[i]){f = 1;str = str.substr(0, str.length() - 1);str = str +"="+ to_string(num[i]);cout << str << endl;return  0;}for (int j = x + 1; j <= all; j++){s = s + num[j];str=str+to_string(num[j])+"+";o=add(j, s, n - 1, str);if (o)j = all + 1;s = s - num[j];str= str.substr(0, str.length() - 2);}return 0;}


然后百度了转int到string的算法

还是没A

说是runtime error

还是先贴上来

#include<iostream>#include<string>#include<algorithm>#include<stdio.h>using namespace std;int num[30],a,b,f;int all;int add(int x, int s, int n, string str);string gstring(int n);int main(){cin >> a;for (int i = 0; i < a; i++){cin >> b;all = b;for (int j = 0; j < b; j++)cin >> num[j];sort(num, num + all);for (int k = 2; k < b; k++)add(-1, 0, k, "");if (!f)cout << "Can't find any equations." << endl;f = 0;cout << endl;}system("pause");return 0;}int add(int x, int s, int n, string str){int o = 0;if (s > num[all-1])return 1;if(n==0)for(int i=x+1;i<=all;i++)if (s == num[i]){f = 1;str = str.substr(0, str.length() - 1);str = str +"="+ gstring(num[i]);cout << str << endl;return  0;}for (int j = x + 1; j <= all; j++){s = s + num[j];str=str+gstring(num[j])+"+";o=add(j, s, n - 1, str);if (o)j = all + 1;s = s - num[j];str= str.substr(0, str.length() - 2);}return 0;}string gstring(int n){char temp[64];string str;sprintf_s(temp, "%d", n);string s(temp);return s;//调用string的方法  cout << s.c_str() << endl;//1000  }


原创粉丝点击