資源簡介
c++ 計算m點問題,希望對大家有幫助!??!

代碼片段和文件信息
#include?
using?namespace?std;
void?Backtrack(int?t);
void?HasSolution();
int?n;
int?m;
int?value;
bool?hasFind;
bool?*use; //?記錄工具已使用的情況
char?*operatorr;
int?*process;
int?*datas;
void?Backtrack(int?t)
{
if?(t?>=?n)
{
if?(value?==?m)
{
hasFind?=?true;
}
}
else
{
for?(int?i?=?0;?i? {
if?(t?==?0)
{
if?(!use[i])
{
process[0]?=?datas[i];
value?=?datas[i];
use[i]?=?true;
Backtrack(t?+?1);
use[i]?=?false;
}
}
else
{
if?(!use[i])
{
process[t]?=?datas[i];
use[i]?=?true;
int?temp?=?value;
if?(datas[i]?!=?0)
{
operatorr[t?-?1]?=?‘/‘;
value?=?temp?/?datas[i];
Backtrack(t?+?1);
if?(hasFind)
{
return;
}
}
operatorr[t?-?1]?=?‘*‘;
value?=?temp?*?datas[i];
Backtrack(t?+?1);
if?(hasFind)
{
return;
}
operatorr[t?-?1]?=?‘-‘;
value?=?temp?-?datas[i];
Backtrack(t?+?1);
if?(hasFind)
{
return;
}
operatorr[t?-?1]?=?‘+‘;
value?=?temp?+?datas[i];
Backtrack(t?+?1);
if?(hasFind)
{
return;
}
value?=?temp;
use[i]?=?false;
}
}
}
}
}
void?HasSolution()
{
FILE?*file;
if?((file?=?fopen(“input.txt“?“r“))?==?NULL)
{
cout?<“File?‘input.txt‘?could?not?be?opened!“?< }
else
{
fscanf?(file?“%d“?&n);
fscanf?(file?“%d“?&m);
cout?< hasFind?=?false;
use?=?new?bool[n];
datas?=?new?int[n];
process?=?new?int[n];
operatorr?=?new?char[n?-?1];
for?(int?i?=?0;?i? {
use[i]?=?false;
fscanf?(file?“%d“?&datas[i]);
cout?< }
cout?< fclose(file);
Backtrack(0);
if?((file?=?fopen(“output.txt“?“w“))?==?NULL)
{
cout?<“Could?not?create?file?‘output.txt‘!“?< }
else
{
if?(hasFind?==?false)
{
cout?<“No?Solution!“?< fprintf(file?“No?Solution!“);
}
else
{
for?(i?=?0;?i? {
cout?< fprintf?(file?“%d%c%d“?process[i]?operatorr[i]?process[i+1]);
switch?(operatorr[i])
{
case?‘/‘:
process[i?+?1]?=?process[i]?/?process[i?+?1];
break;
case?‘*‘:
process[i?+?1]?=?process[i]?*?process[i?+?1];
break;
case?‘-‘:
process[i?+?1]?=?process[i]?-?process[i?+?1];
break;
case?‘+‘:
process[i?+?1]?=?process[i]?+?process[i?+?1];
break;
default:
break;
}
cout?<“=“?< fprintf?(file?“=%d;?“?process[i?+?1]);
}
cout?< }
fclose(file);
}
}
}
void?main()
{
HasSolution();
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????518??2008-12-17?19:57??5-19?算m點問題\5to19\5to19.dsw
?????文件??????33792??2008-12-17?20:03??5-19?算m點問題\5to19\5to19.ncb
?????文件????????661??2008-12-17?20:03??5-19?算m點問題\5to19\5to19.plg
?????文件???????2928??2008-12-17?20:02??5-19?算m點問題\5to19\m.cpp
?????文件??????48640??2008-12-17?20:03??5-19?算m點問題\5to19\5to19.opt
?????文件???????4268??2008-12-17?20:03??5-19?算m點問題\5to19\5to19.dsp
?????文件??????82944??2008-12-17?20:04??5-19?算m點問題\5to19\Debug\vc60.idb
?????文件?????110592??2008-12-17?20:04??5-19?算m點問題\5to19\Debug\vc60.pdb
?????文件????2001516??2008-12-17?20:02??5-19?算m點問題\5to19\Debug\5to19.pch
?????文件????2002596??2008-12-17?20:04??5-19?算m點問題\5to19\Debug\m.pch
?????文件?????157981??2008-12-17?20:04??5-19?算m點問題\5to19\Debug\m.obj
?????文件?????790236??2008-12-17?20:04??5-19?算m點問題\5to19\Debug\m.ilk
?????文件?????553032??2008-12-17?20:04??5-19?算m點問題\5to19\Debug\m.exe
?????文件????1115136??2008-12-17?20:04??5-19?算m點問題\5to19\Debug\m.pdb
?????文件?????????17??2008-12-17?20:04??5-19?算m點問題\5to19\input.txt
?????文件???????3341??2008-12-17?20:04??5-19?算m點問題\5to19\m.dsp
?????文件??????33792??2008-12-17?20:08??5-19?算m點問題\5to19\m.ncb
?????文件????????721??2008-12-17?20:04??5-19?算m點問題\5to19\m.plg
?????文件?????????41??2008-12-17?20:04??5-19?算m點問題\5to19\output.txt
?????文件??????48640??2008-12-17?20:08??5-19?算m點問題\5to19\m.opt
?????文件????????510??2008-12-17?20:08??5-19?算m點問題\5to19\m.dsw
?????目錄??????????0??2008-12-17?19:57??5-19?算m點問題\5to19\Debug
?????目錄??????????0??2008-12-17?20:03??5-19?算m點問題\5to19
?????目錄??????????0??2008-12-17?19:56??5-19?算m點問題
-----------?---------??----------?-----??----
??????????????6991902????????????????????24
- 上一篇:MFC音樂播放器
- 下一篇:vc Teechart8
評論
共有 條評論