//首先判环我都不会 dfs实在写的戳 后来测了好多数据发现dfs写错了 唉 其次不会哈希啊 这个哈希还是dalao手写给我的 珍惜!!!#include <iostream>
#include <algorithm>
#include <stdio.h>
#include <vector>
#include <string>
#include <string.h>
#include <queue>
#include <math.h>
#include <map>
#define ULL unsigned long long
using namespace std;
const int maxn=10010;
const int INF=0x3f3f3f3f;
#define mod 10007
int cnt;
vector <int> e[10010];//map<ULL,int> mp;
int f[10010];
int de[maxn];
int tot;
bool flag=true;
void dfs(int now){f[now]=-1;for(int i=0;i<e[now].size();i++){if(f[e[now][i]]==-1) {flag=false;}else if(f[e[now][i]]==0) dfs(e[now][i]);}f[now]=1;
}const int maxbuf = 11111;
struct node {ULL key;int id,next;
}buf[maxbuf];
int h[maxn];
ULL fuck(char a[30]){ULL ha=0;for(int i=0;a[i];i++){ha*=52;ha+=a[i];}return (ha);
}
void inithash() {tot = 0;memset(h,-1,sizeof(h));
}
int ins(ULL key) {int now = ++tot;buf[now].key = key, buf[now].id = now, buf[now].next = h[key%mod];h[key%mod] = now;return now;
}
int fnd(ULL key) {for (int i=h[key%mod];~i;i=buf[i].next) {if (buf[i].key == key) return buf[i].id;}return 0;
}char s1[30],s2[30];
int main(){#ifdef shuaishuaifreopen("C:\\Users\\hasee\\Desktop\\trianglen=100000.in","r",stdin);// freopen("C:\\Users\\hasee\\Desktop\\b.txt","w",stdout);// freopen("C:\\Users\\hasee\\Desktop\\picture.in","r",stdin);
#endif// ios::sync_with_stdio(false);char s;int n;memset(f,0,sizeof f);memset(de,0,sizeof de);inithash();while(scanf("%d\n",&n)!=EOF){cnt=1;for(int i=0;i<n;i++){// cout<<"@"<<endl;scanf("%s %c %s\n",s1,&s,s2);
//            cout<<s1<<" "<<s<<" "<<s2<<endl;
ULL x1=fuck(s1);ULL x2=fuck(s2);int u = fnd(x1), v = fnd(x2);//            cout<<"before  "<<u<<" "<<v<<" "<<tot<<endl;
//            cout<<x1<<" "<<x2<<endl;if (!u) u = ins(x1);if (!v) v = ins(x2);
//            printf("%s %d %s %d\n",s1,u,s2,v);
//            cout<<u<<" "<<v<<" "<<tot<<endl;// printf("%d %d\n",x1,x2);//           int x1=mp[t1],x2=mp[t2];
//            if(x1==0)x1=mp[t1]=cnt++;
//            if(x2==0)x2=mp[t2]=cnt++;if(s=='>'){e[u].push_back(v);de[v]++;}else{e[v].push_back(u);de[u]++;}}for(int i=1;i<=tot;i++  ){if(f[i]==0) dfs(i);if(!flag) break;}if(flag)printf("possible\n");elseprintf("impossible\n");for(int i=0;i<=tot;i++)e[i].clear(),f[i]=0,h[i]=-1,de[i]=0;tot=0;}return 0;
}

转载于:https://www.cnblogs.com/MeowMeowMeow/p/7277017.html

hoj 13788 Dwarves相关推荐

  1. HOJ 1991 Happy 2005 HOJ 2635 Weights 快速幂

    http://acm.hit.edu.cn/hoj/problem/view?id=1991 HOJ 1991 Happy 2005 My Tags 矩阵快速幂   (Edit)   Source : ...

  2. HOJ 2576 HOJ 2577 Simple Computing I II 容斥原理

    两题的链接先给上: http://acm.hit.edu.cn/hoj/problem/view?id=2576 http://acm.hit.edu.cn/hoj/problem/view?id=2 ...

  3. HOJ 2278 IP Filtering (二分)

    HOJ 2278 主要思路:将IP地址看成4位256进制的数,转化成十进制,一个segment就是一个区间. 先将所有的segment按左端点升序排列,如果几个segment有重叠,则将它们合并成一个 ...

  4. CF1063C Dwarves, Hats and Extrasensory Abilities

    CF1063C Dwarves, Hats and Extrasensory Abilities 题意: 首先题目会给出 n ,表示要输入多少点. 然后你输出n 个点的坐标,每输出一个点会告诉你这个点 ...

  5. HOJ——T 1867 经理的烦恼

    http://acm.hit.edu.cn/hoj/problem/view?id=1867 Source : HCPC 2005 Spring   Time limit : 2 sec   Memo ...

  6. hoj 1640 Mobile phones //poj 1195 Mobile phones 二维树状数组

    /* (x1,y2)   ____________    (x2,y2) |                      | |                      | |             ...

  7. HOJ 2786 Convert Kilometers to Miles

    http://acm.hit.edu.cn/hoj/problem/view?id=2786 公里转化为英里 公里数用最少个斐波那契数表示 即42表示为34+8 而不是34+5+2+1 #includ ...

  8. Hoj 1789 Electricity

    题目链接:http://acm.hit.edu.cn/hoj/problem/view?id=1789 题目大意:在一个无向图中,删除某一个点所形成的最大连通分量数目是多少. 我们知道,删除一个点某个 ...

  9. 开发一个 Linux 调试器(四):Elves 和 dwarves

    https://linux.cn/article-8719-1.html 到目前为止,你已经偶尔听到了关于 dwarves.调试信息.一种无需解析就可以理解源码方式.今天我们会详细介绍源码级的调试信息 ...

最新文章

  1. Go 知识点(10) — 子协程能否使用主协程变量
  2. 函数小知识点(文档字符串,闭包等)
  3. Python(21)_input用户交互
  4. HTML基础入门学习准备篇
  5. 第一章课后习题及答案
  6. django-无刷新ajax请求的试验
  7. mysql jtds驱动在哪_几个数据库的驱动、连接
  8. java装饰模式_Java装饰者模式实例详解
  9. ocx控件 postmessage消息会消失_通过HackerOne漏洞报告学习PostMessage漏洞实战场景中的利用与绕过...
  10. PHP 的魔术方法及其应用
  11. android shell检查是否锁屏_有没有办法检查Android设备屏幕是否通过adb锁定?
  12. 树莓派控制台达伺服控制器
  13. 我的理想 计算机 作文,我的理想作文(精选15篇)
  14. 利用scrapy爬取东方资讯的新闻
  15. 【springcloud合集】04:新建Moudle——微服务提供者支付模块
  16. 利用c/c++打造烟花表白程序,撩妹一撩一个准!
  17. Vue-3D-Model:几行代码即可构造出炫酷三维场景
  18. iOS中文件连接群晖服务器,教你使用群晖怎么在ios的“家庭‘’App(HomeKit)里添加Hom...
  19. 正则表达式30分钟入门
  20. YOLO模型 训练及预测

热门文章

  1. 【推导】【数学期望】Gym - 101237D - Short Enough Task
  2. 性能测试工具MultiMechanize的使用介绍
  3. Eclipse Juno在ubuntud的安装(SVN)
  4. 面向站长和网站管理员的Web缓存加速指南
  5. 应用虚拟化的五大理由
  6. [导入]PHP通用分页类
  7. Oracle表连接深入浅出
  8. android Glide简单使用
  9. # 自定义异常类 问题: 请使用代码实现 每一个学生(Student)都有学号,姓名和分数,分数永远不能为负数 如果老师给学生赋值一个负数,抛出一个自定异常
  10. Java中二维数组的用法(不定长二维数组)