码迷,mamicode.com
首页 > 其他好文 > 详细

带分数

时间:2018-03-25 21:45:19      阅读:221      评论:0      收藏:0      [点我收藏+]

标签:print   workspace   define   body   int   info   cto   hid   splay   

强行全排列,9秒,11!的复杂度,稳妥超时:

技术分享图片

代码:

技术分享图片
#include <stdio.h>
#include <memory.h>
#include <math.h>
#include <string>
#include <string.h>
#include <vector>
#include <set>
#include <stack>
#include <queue>
#include <algorithm>
#include <map>

#define I scanf
#define OL puts
#define O printf
#define F(a,b,c) for(a=b;a<c;a++)
#define FF(a,b) for(a=0;a<b;a++)
#define FG(a,b) for(a=b-1;a>=0;a--)
#define LEN 3000
#define MAX 0x06FFFFFF
#define V vector<int>

using namespace std;

int main(){
//    freopen("D:/CbWorkspace/blue_bridge/带分数.txt","r",stdin);
    int eq=100;
//    I("%d",&eq);
    string problem="+/123456789";
    do{
        int p=problem.find(+);
        int d=problem.find(/);
        if(abs(p-d)==1) continue;
        if(p==0 || d==0 || p==10 || d==10) continue;
        if(d<p) continue;
        int a,b,c;
        sscanf(problem.substr(p+1,d-p-1).c_str(),"%d",&b);
        sscanf(problem.substr(d+1,10-d).c_str(),"%d",&c);
        if(b%c) continue;
        sscanf(problem.substr(0,p).c_str(),"%d",&a);
        if((a+b/c)==eq) puts(problem.c_str());
    }while(next_permutation(problem.begin(),problem.end()));
    return 0;
}
View Code

 

带分数

标签:print   workspace   define   body   int   info   cto   hid   splay   

原文地址:https://www.cnblogs.com/TQCAI/p/8647001.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!