hdoj 3627
来源:互联网 发布:2016年网络新歌大全 编辑:程序博客网 时间:2024/06/06 03:32
下面的代码虽然超时,但是学习很多的STL的用法!!特别是set;
#include<iostream>
#include<set>
#include<cstdio>
#include<cstring>
using namespace std;
class node
{
public:
int row;
int clo;
};
struct com
{
bool operator()(node x,node y)
{
if(x.row==y.row) return x.clo<y.clo;
else return x.row<y.row;
}
};
int main()
{
int k=1;
set<node,com> q;
int n;
while(scanf("%d",&n),n)
{
if(k>1) printf("/n");
printf("Case %d:/n",k);
q.clear();
char op[10];
node a;
for(int i=1; i<=n; i++)
{
scanf("%s",op);
if(strcmp(op,"add")==0)
{
scanf("%d%d",&a.row,&a.clo);
q.insert(a);
}
else if(strcmp(op,"remove")==0)
{
scanf("%d%d",&a.row,&a.clo);
q.erase(a);
}
else if(strcmp(op,"find")==0)
{
scanf("%d%d",&a.row,&a.clo);
set<node>::iterator it=q.begin();
for(;it!=q.end();it++)
if((it->row)>a.row) break;
if(it==q.end())
{
printf("-1/n");
//continue;
}
else
{
for(; it!=q.end(); it++)if((it->clo)>a.clo) break;
if(it==q.end())
{
printf("-1/n");
continue;
}
else
{
printf("%d %d/n",it->row,it->clo);
}
}
}
}
k++;
}
return 0;
}
- hdoj 3627
- hdoj 3627 Giant For
- HDOJ
- hdoj
- hdoj
- HDOJ
- 【线段树】 HDOJ 3627 Giant For
- hdoj 1568 && hdoj 5344 && hdoj 5444
- HDOJ 2176
- Hdoj--1272
- hdoj 1003
- hdoj 1005
- hdoj 1030
- hdoj 2154
- hdoj 2100
- HDOJ 1106
- hdoj 1257
- hdoj 1159
- 几种常见页面置换算法分析
- 破处!以后技术文章都写这了!
- glew, glee与 gl glu glut glx glext的区别和关系
- 3622 Bomb Game //2--SAT
- HTTP协议演示_基于 HTTP 的 Web Forms 编程2-5
- hdoj 3627
- 如何管理“人”
- Android开发者必须深入学习的10个应用开源项目
- [ABAP] PBOM历史版本函数展开 CSAP_MAT_BOM_READ
- C#异步调用的例子
- Spring源码编译
- 关于FlashPlayer的最新版本【2】
- 数字屏与模拟屏的区别
- 用CSS设置Table的细边框的几种方法