hdu1466 计算直线的交点数//dp+set

来源:互联网 发布:大型网络数据中心 编辑:程序博客网 时间:2024/05/22 17:36
#include<iostream>#include<stdio.h>#include<set>using namespace std;class node{public:set<int >t;};node st[21];int main(){st[1].t .insert (0);st[2].t .insert (0);st[2].t .insert (1);st[3].t .insert (0);st[3].t .insert (2);st[3].t .insert (3);for(int i=4;i<=20;i++){st[i].t .insert (0);int j;for(int j=1;j<=i;j++){int k=(i-j)*j;set<int>::iterator pre;pre=st[j].t.begin ();while(pre!=st[j].t .end ()){st[i].t .insert (k+*pre);pre++;}}}int n;while(scanf("%d",&n)!=EOF){set<int >::iterator t;t=st[n].t .begin ();int k=*t;while(++t!=st[n].t .end ()){printf("%d ",k);k=*t;}printf("%d\n",k);}return 0;}

原创粉丝点击