USACO 2.3.3 Zero Sum
来源:互联网 发布:floyd算法结果如何看 编辑:程序博客网 时间:2024/05/16 06:31
本题两种解法:
一、DFS。
二、三进制枚举。
本题涉及到用栈模拟计算器的方法。
/*ID:szwjcch971TASK:zerosumLANG:C++*/#include "stdio.h"#include "string.h"char fuhao[4]=" +-";int stack[30];int n,top=0;FILE *fin=fopen("zerosum.in","r");FILE *fout=fopen("zerosum.out","w");void Push_into_Stack(int x){int i,j,k,temp,p,jingzhi3[10];p=1;for(i=1;i<=n-1;i++){jingzhi3[n-i]=x%3;x/=3;}for(i=1;i<=n-1;i++){k=jingzhi3[i];switch(k){case 0:p=p*10+i+1;break;case 1:top++;stack[top]=p;p=i+1;top++;stack[top]=-100;break;case 2:top++;stack[top]=p;p=i+1;top++;stack[top]=-200;break;default:break;}}top++;stack[top]=p;}int Calculate(int stack[30]){int i=1,p;while(i<top){switch(stack[i+1]){case -100:stack[i+2]=stack[i]+stack[i+2];i+=2;break;case -200:stack[i+2]=stack[i]-stack[i+2];i+=2;break;default:break;}}return stack[top];}void Print(int x){int i,k,jingzhi3[10];for(i=1;i<=n-1;i++){jingzhi3[n-i]=x%3;x/=3;}for(i=1;i<=n-1;i++){fprintf(fout,"%d",i);k=jingzhi3[i];fprintf(fout,"%c",fuhao[k]);}fprintf(fout,"%d\n",n);};int main(){int i,j,k,l;int pw3[9]={1,3,9,27,81,243,729,2187,6561};fscanf(fin,"%d",&n);for(i=0;i<pw3[n-1];i++){top=0;memset(stack,0,sizeof(stack));Push_into_Stack(i);l=Calculate(stack);if(!l){Print(i);//fprintf(fout,"I=%d, Answer=%d.\n",i,l);}}return 0;}
0 0
- USACO 2.3.3 Zero Sum
- USACO 2.3.3 Zero Sum
- USACO 2.3.3 Zero Sum
- USACO 2.3.3 Zero Sum
- [usaco]2.3 Zero Sum
- USACO--2.3Zero Sum
- USACO 2.3 Zero Sum
- USACO 2.3 Zero Sum
- USACO 2.3 Zero Sum (zerosum)
- USACO 2.3 Zero Sum 题解
- USACO-Section2.3 Zero Sum
- 【USACO题库】2.3.3 Zero Sum和为零
- 【USACO题库】2.3.3 Zero Sum和为零
- JZOJ1268.【USACO题库】2.3.3 Zero Sum和为零
- 1031. 【USACO题库】2.3.3 Zero Sum和为零
- USACO-Section 2.3 Zero Sum(枚举)
- USACO section2.3 Zero Sum题解&代码
- 【其他】【USACO】Zero Sum
- 如何找到券商实习
- +方法是一个类方法 sitanfu 白老头的解释 意思是将它发送给类,而不是对象实例....
- python中的extend和append的区别
- ArrayList的练习 编写程序实现对Employee类的排序
- 详解 coredump
- USACO 2.3.3 Zero Sum
- Python的lambda匿名函数
- [亲测] ubuntu 卸载 vmware
- strstr函数
- MFC学习笔记(1)
- TreeSet排序,存储自定义对象,自定义比较器示例
- 黑马程序员18.IO流3
- 怎样在VS2013中安装配置boost_1_55_0库--百度经验
- poj 2886