#包括#包括#包括#包括#包括使用命名空间标准;typedef对点;结构CoverSet{地图covcnt;设置封面1;空隙覆盖(常数点&p,int mult=1){如果(covcnt[p]==1){覆盖1.擦除(p);}covcnt[p]+=倍数;如果(covcnt[p]==1){盖子1.插入(p);}}设置::const_iterator cover1_begin()const{返回盖1.begin();}设置::const_iterator cover1_end()const{返回盖1.end();}size_t大小()常量{return covcnt.size();}};int main(int ac,char**av){size_t n=(ac>1)?阿托伊(av[1]):10;字符串比例=(ac>2)?av[2]:“10”;矢量新列表;newlist.push_back(点(0,0));size_t总数=0;布尔dir=false;CoverSet c;cout<<“%!PS-Adobe-2.0\n%%方向:纵向\n%%页数:1\n%%BeginSetup\n%%EndSetup\n%n%EndComments\n\n%%页数:1 1\ngsave\n306 396 translate\n”;cout<<scale<<“”<<scale<<“scale\n.2 setlinewidth\n\n”;cout<<“/hp{newpath moveto 0-1 rmowete 0 2 rlineto stroke}def\n”;cout<<“/vp{newpath moveto-1 0 rmoweove 2 0 rlineto stroke}def\n”;cout<<“0 0 1 setrgbcolor\n”;for(size_tround=0;round<n;++round){if(圆==n-1){cout<<“1 0 0 setrgbcolor\n”;}tot+=newlist.size();for(矢量::迭代器i=newlist.begin();i!=newlist.end()++i){c.盖子(*i,2);if(目录){c.覆盖(点(i->第一,i->第二个1));c.覆盖(点(i->第一,i->第二+1));cout<<i->第一<<“”<<i->second<<“hp\n”;}其他{c.覆盖(点(i->第一个,i->第二个));c.覆盖(点(i->第一+1,i->第二));cout<<i->第一个<<“”<<i->第二个<<“vp\n”;}}dir=!目录;newlist.clear();复制(c.cover1_begin(),c.cover1_end(),back_inserter(newlist));}cout<<“grestore\nshowpage\n%%EOF\n”;}