The Fourth Dimension Space

枯叶北风寒,忽然年以残,念往昔,语默心酸。二十光阴无一物,韶光贱,寐难安; 不畏形影单,道途阻且慢,哪曲折,如渡飞湍。斩浪劈波酬壮志,同把酒,共言欢! -如梦令

数学建模的一个小程序

//数学建模
//2010年8月21日21:55:29

#include<iostream>
#include
<algorithm>
#include
<vector>
#include
<sstream>
#include
<string>
using namespace std;
int const maxn=10000;
char in[100000];

vector
<string>mm[maxn];
int cnt=0;


bool isdigt(char a)
{
    
if(a>='0'&&a<='9')
        
return true;
    
else
        
return false;
}
 

void predo()
{
    
int len=strlen(in);
    
for(int i=0;i<len;i++)
    
{
        
if(!isdigt(in[i]))
            
in[i]=' ';
    }

}


string ans;
void dfs(int k,string str)
{
    
if(k==cnt)
    
{
        cout
<<str<<endl;
        
return;
    }

    
int n=mm[k].size();
    
for(int i=0;i<n;i++)
    
{
        
if(k!=0)
        
//cout<<"-"<<mm[k][i];
        {
            str
+="-";
            str
+=mm[k][i];
        }

        
else
        
//cout<<mm[k][i];
            str+=mm[k][i];
        dfs(k
+1,str);

        
if(k!=0)
        
//cout<<"-"<<mm[k][i];
        {
            str
=str.substr(0,str.length()-mm[k][i].length()-1);
        }

        
else
        
//cout<<mm[k][i];
        str=str.substr(0,str.length()-mm[k][i].length());

    }

}







int main()
{
    freopen(
"IN.txt","r",stdin);
    freopen(
"OUT.txt","w",stdout);
    cnt
=0;
    ans
="";
    
while(cin.getline(in,100000))
    
{
        predo();
        
        
//debug
        
//printf("%s\n",in);
        
//system("pause");
        
// 
        istringstream t(in);
        
string tem;
        
while(t>>tem)
        
{
            mm[cnt].push_back(tem);
        }

        cnt
++;

    }

    
//debug
    /*
    printf("cnt = %d\n",cnt);
    for(int i=0;i<cnt;i++)
    {
        for(int j=0;j<mm[i].size();j++)
        {
            cout<<mm[i][j]<<' ';
        }
        cout<<endl;
    }
    system("pause");
    
*/


    
    dfs(
0,ans);
    
return 0;
}


第一组
0567, 0042, 0025
1487
0303, 0302
0566
0436, 0438, 0437, 0435
0392, 0394, 0393, 0391
0386, 0388, 0387, 0385
3068, 0617, 0619, 0618, 0616
1279
2057, 0721, 0722, 0720
0070, 2361, 3721
0609, 0608
2633, 0399, 0401, 0400
3321, 2535, 2464
3329, 2534
3506, 0167, 0168
0237, 0239, 0238, 0236, 0540
0668
0180, 0181
2079, 2933, 1919, 1921, 1920
0465, 0467, 0466, 0464
3457

第二组
0537, 3580
0526, 0528, 0527, 0525
3045, 0605, 0607
0609, 0608
0087, 0088, 0086
0855, 0856, 0854, 0857
0631, 0632, 0630
3874, 1426, 1427
0211, 0539, 0541, 0540
0978, 0497, 0498
0668
1894, 1896, 1895
1104, 0576, 0578, 0577
3010, 0583, 0582
3676, 0427, 0061, 0060
1961, 2817, 0455, 0456
3262, 0622
1956, 0289, 0291

posted on 2010-08-21 21:56 abilitytao 阅读(306) 评论(0)  编辑 收藏 引用


只有注册用户登录后才能发表评论。
【推荐】超50万行VC++源码: 大型组态工控、电力仿真CAD与GIS源码库
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理