POJ 1950暴搜
来源:互联网 发布:js如何控制embed播放 编辑:程序博客网 时间:2024/06/06 04:32
思路:
暴力枚举好了。。每回判断一下……
用long long会超时
但是10^20会爆int。。。
不过仔细想一想 超过10^9的数肯定拼不回0啊……
猥琐用int AC了
(当然可以打表 )
// by SiriusRen#include <cstdio>#include <iostream>#include <algorithm>using namespace std;int n,s[16],cnt=0,r[16];void dfs(int t){ if(t==n) { int ans=0,remain=n,num=0; for(int i=n-1;i;i--) { if(s[i]==1) { num=0; ans+=remain; remain=i; } else if(s[i]==2) { num=0; ans-=remain; remain=i; } else if(s[i]==3) { if(i<9) { num++; remain=remain+i*r[num]; } else { num+=2; remain=remain+i*r[num]; } } } ans+=remain; if(!ans) { cnt++; if(cnt<=20) { for(int i=1;i<n;i++) { printf("%d",i);putchar(' '); if(s[i]==1)putchar('+'); else if(s[i]==2)putchar('-'); else putchar('.'); putchar(' '); } printf("%d\n",n); } } return; } s[t]=1,dfs(t+1); s[t]=2,dfs(t+1); s[t]=3,dfs(t+1);}int main(){ scanf("%d",&n); r[0]=1; for(int i=1;i<=9;i++)r[i]=r[i-1]*10; for(int i=10;i<=16;i++)r[i]=r[i-1]; dfs(1); cout<<cnt;}
15的数据:
1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 - 10 - 11 - 12 - 13 - 14 + 15
1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 - 9 + 10 - 11 - 12 - 13 + 14 - 15
1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 - 9 - 10 + 11 - 12 + 13 - 14 - 15
1 + 2 + 3 + 4 + 5 + 6 + 7 - 8 + 9 + 10 - 11 - 12 + 13 - 14 - 15
1 + 2 + 3 + 4 + 5 + 6 + 7 - 8 + 9 - 10 + 11 + 12 - 13 - 14 - 15
1 + 2 + 3 + 4 + 5 + 6 - 7 + 8 + 9 + 10 - 11 + 12 - 13 - 14 - 15
1 + 2 + 3 + 4 + 5 + 6 - 7 - 8 - 9 + 10 - 11 - 12 - 13 + 14 + 15
1 + 2 + 3 + 4 + 5 + 6 - 7 - 8 - 9 - 10 + 11 - 12 + 13 - 14 + 15
1 + 2 + 3 + 4 + 5 + 6 - 7 - 8 - 9 - 10 - 11 + 12 + 13 + 14 - 15
1 + 2 + 3 + 4 + 5 + 6 - 7 - 8 . 9 + 10 + 11 + 12 + 13 + 14 + 15
1 + 2 + 3 + 4 + 5 + 6 . 7 - 8 . 9 - 10 - 11 + 12 - 13 + 14 + 15
1 + 2 + 3 + 4 + 5 + 6 . 7 . 8 - 9 . 10 - 11 . 12 + 13 . 14 + 15
1 + 2 + 3 + 4 + 5 - 6 + 7 + 8 + 9 + 10 + 11 - 12 - 13 - 14 - 15
1 + 2 + 3 + 4 + 5 - 6 + 7 - 8 + 9 - 10 - 11 - 12 - 13 + 14 + 15
1 + 2 + 3 + 4 + 5 - 6 + 7 - 8 - 9 + 10 - 11 - 12 + 13 - 14 + 15
1 + 2 + 3 + 4 + 5 - 6 + 7 - 8 - 9 - 10 + 11 + 12 - 13 - 14 + 15
1 + 2 + 3 + 4 + 5 - 6 + 7 - 8 - 9 - 10 + 11 - 12 + 13 + 14 - 15
1 + 2 + 3 + 4 + 5 - 6 - 7 + 8 + 9 - 10 - 11 - 12 + 13 - 14 + 15
1 + 2 + 3 + 4 + 5 - 6 - 7 + 8 - 9 + 10 - 11 + 12 - 13 - 14 + 15
1 + 2 + 3 + 4 + 5 - 6 - 7 + 8 - 9 + 10 - 11 - 12 + 13 + 14 - 15
1350
- POJ 1950暴搜
- POJ 1950
- POJ 1950
- poj 1950
- POJ 1950
- poj 1950 数字dfs
- POJ 1950 Dessert
- poj 1950 Desser dfs
- poj 1950 Dessert
- poj 1950 Dessert
- poj 1950 Dessert 深搜
- POJ 1950 Dessert
- POJ 1950 desserts
- 强势回归!poj 1950
- POJ 1950 Dessert
- POJ 1950 Dessert 笔记
- poj 1419 暴搜
- POJ 2676 Sudoku [暴搜]
- HOW TO: Install Chromedriver for Mac OS X / Selenium / Python
- C#与C#接口对接,C#与Java的接口对接(序列化与反序列化)——(二)
- Android Support 库 24.2.0 正式发布
- android学习
- 完成端口封装(修复Windows 网络与通信程序设计 可伸缩IOCP模型的bug)
- POJ 1950暴搜
- Java定时任务的三种实现方法
- 基于UTF8字符串检查错误替换功能
- iOS弹出框封装好的方法
- Leetcode-Symmetric Tree
- 一个简单的基于注解的 Controller (spring 2.5 annotation 方式实现mvc )
- Delphi中线程类TThread实现多线程编程2---事件、临界区、Synchronize、WaitFor……
- 个人网红靠直播卖东西赚钱越来越困难 因为电商平台都杀进来了
- Android常用开源库之Universal-image-loader