home *** CD-ROM | disk | FTP | other *** search
open in:
MacOS 8.1
|
Win98
|
DOS
view JSON data
|
view as text
This file was processed as: LaTeX Document
(document/latex).
You can browse this item here: p_dic.pro
Confidence | Program | Detection | Match Type | Support
|
---|
100%
| dexvert
| LaTeX Document (document/latex)
| magic
| Supported |
1%
| dexvert
| MSX Protracker Module (music/msxProtrackerModule)
| ext
| Unsupported |
1%
| dexvert
| Show Partner Mastered Show (other/showPartnerMasteredShow)
| ext
| Unsupported |
1%
| dexvert
| Text File (text/txt)
| fallback
| Supported |
100%
| file
| C source text
| default
| |
99%
| file
| LaTeX document, ASCII text
| default
| |
100%
| checkBytes
| Printable ASCII
| default
| |
100%
| perlTextCheck
| Likely Text (Perl)
| default
| |
100%
| detectItEasy
| Format: plain text[LF]
| default (weak)
|
|
hex view+--------+-------------------------+-------------------------+--------+--------+
|00000000| 0a 55 73 69 6e 67 20 61 | 20 70 65 72 73 69 73 74 |.Using a| persist|
|00000010| 65 6e 74 20 64 69 63 74 | 69 6f 6e 61 72 79 20 66 |ent dict|ionary f|
|00000020| 6f 72 20 70 6c 61 6e 61 | 72 20 70 6f 69 6e 74 20 |or plana|r point |
|00000030| 6c 6f 63 61 74 69 6f 6e | 20 0a 5c 62 69 67 73 6b |location| .\bigsk|
|00000040| 69 70 0a 0a 5c 62 65 67 | 69 6e 67 72 6f 75 70 0a |ip..\beg|ingroup.|
|00000050| 5c 74 74 0a 7b 5c 6f 62 | 65 79 73 70 61 63 65 73 |\tt.{\ob|eyspaces|
|00000060| 5c 67 64 65 66 20 7b 5c | 20 7d 7d 0a 5c 74 74 76 |\gdef {\| }}.\ttv|
|00000070| 65 72 62 61 74 69 6d 0a | 0a 23 69 6e 63 6c 75 64 |erbatim.|.#includ|
|00000080| 65 20 3c 4c 45 44 41 2f | 70 6c 61 6e 65 2e 68 3e |e <LEDA/|plane.h>|
|00000090| 0a 23 69 6e 63 6c 75 64 | 65 20 3c 4c 45 44 41 2f |.#includ|e <LEDA/|
|000000a0| 70 72 69 6f 2e 68 3e 0a | 23 69 6e 63 6c 75 64 65 |prio.h>.|#include|
|000000b0| 20 3c 4c 45 44 41 2f 73 | 6f 72 74 73 65 71 2e 68 | <LEDA/s|ortseq.h|
|000000c0| 3e 0a 23 69 6e 63 6c 75 | 64 65 20 3c 4c 45 44 41 |>.#inclu|de <LEDA|
|000000d0| 2f 70 5f 64 69 63 74 69 | 6f 6e 61 72 79 2e 68 3e |/p_dicti|onary.h>|
|000000e0| 0a 0a 0a 72 65 61 6c 20 | 58 5f 50 4f 53 3b 0a 0a |...real |X_POS;..|
|000000f0| 69 6e 74 20 63 6f 6d 70 | 61 72 65 28 73 65 67 6d |int comp|are(segm|
|00000100| 65 6e 74 26 20 73 31 2c | 73 65 67 6d 65 6e 74 26 |ent& s1,|segment&|
|00000110| 20 73 32 29 0a 7b 0a 20 | 20 6c 69 6e 65 20 6c 31 | s2).{. | line l1|
|00000120| 28 73 31 29 3b 0a 20 20 | 6c 69 6e 65 20 6c 32 28 |(s1);. |line l2(|
|00000130| 73 32 29 3b 0a 0a 20 20 | 64 6f 75 62 6c 65 20 64 |s2);.. |double d|
|00000140| 69 66 66 20 3d 20 6c 31 | 2e 79 5f 70 72 6f 6a 28 |iff = l1|.y_proj(|
|00000150| 58 5f 50 4f 53 29 20 2d | 20 6c 32 2e 79 5f 70 72 |X_POS) -| l2.y_pr|
|00000160| 6f 6a 28 58 5f 50 4f 53 | 29 3b 0a 0a 20 20 69 66 |oj(X_POS|);.. if|
|00000170| 20 28 66 61 62 73 28 64 | 69 66 66 29 20 3c 20 31 | (fabs(d|iff) < 1|
|00000180| 65 2d 31 30 29 0a 20 20 | 20 20 20 72 65 74 75 72 |e-10). | retur|
|00000190| 6e 20 63 6f 6d 70 61 72 | 65 28 6c 31 2e 73 6c 6f |n compar|e(l1.slo|
|000001a0| 70 65 28 29 2c 6c 32 2e | 73 6c 6f 70 65 28 29 29 |pe(),l2.|slope())|
|000001b0| 3b 0a 20 20 65 6c 73 65 | 20 0a 20 20 20 20 20 72 |;. else| . r|
|000001c0| 65 74 75 72 6e 20 63 6f | 6d 70 61 72 65 28 64 69 |eturn co|mpare(di|
|000001d0| 66 66 2c 30 2e 30 29 3b | 0a 7d 0a 0a 73 65 67 6d |ff,0.0);|.}..segm|
|000001e0| 65 6e 74 20 68 6f 72 5f | 73 65 67 28 70 6f 69 6e |ent hor_|seg(poin|
|000001f0| 74 20 70 29 20 7b 20 72 | 65 74 75 72 6e 20 73 65 |t p) { r|eturn se|
|00000200| 67 6d 65 6e 74 28 70 2c | 30 2c 31 29 3b 20 7d 0a |gment(p,|0,1); }.|
|00000210| 0a 0a 0a 64 65 63 6c 61 | 72 65 32 28 70 72 69 6f |...decla|re2(prio|
|00000220| 72 69 74 79 5f 71 75 65 | 75 65 2c 73 65 67 6d 65 |rity_que|ue,segme|
|00000230| 6e 74 2c 70 6f 69 6e 74 | 29 3b 0a 74 79 70 65 64 |nt,point|);.typed|
|00000240| 65 66 20 70 72 69 6f 72 | 69 74 79 5f 71 75 65 75 |ef prior|ity_queu|
|00000250| 65 28 73 65 67 6d 65 6e | 74 2c 70 6f 69 6e 74 29 |e(segmen|t,point)|
|00000260| 20 58 5f 73 74 72 75 63 | 74 75 72 65 3b 0a 0a 0a | X_struc|ture;...|
|00000270| 64 65 63 6c 61 72 65 32 | 28 70 5f 64 69 63 74 69 |declare2|(p_dicti|
|00000280| 6f 6e 61 72 79 2c 73 65 | 67 6d 65 6e 74 2c 69 6e |onary,se|gment,in|
|00000290| 74 29 3b 0a 74 79 70 65 | 64 65 66 20 70 5f 64 69 |t);.type|def p_di|
|000002a0| 63 74 69 6f 6e 61 72 79 | 28 73 65 67 6d 65 6e 74 |ctionary|(segment|
|000002b0| 2c 69 6e 74 29 20 59 5f | 73 74 72 75 63 74 75 72 |,int) Y_|structur|
|000002c0| 65 3b 20 0a 0a 0a 64 65 | 63 6c 61 72 65 32 28 73 |e; ...de|clare2(s|
|000002d0| 6f 72 74 73 65 71 2c 72 | 65 61 6c 2c 59 5f 73 74 |ortseq,r|eal,Y_st|
|000002e0| 72 75 63 74 75 72 65 29 | 3b 0a 74 79 70 65 64 65 |ructure)|;.typede|
|000002f0| 66 20 73 6f 72 74 73 65 | 71 28 72 65 61 6c 2c 59 |f sortse|q(real,Y|
|00000300| 5f 73 74 72 75 63 74 75 | 72 65 29 20 20 48 49 53 |_structu|re) HIS|
|00000310| 54 4f 52 59 3b 0a 0a 0a | 48 49 53 54 4f 52 59 20 |TORY;...|HISTORY |
|00000320| 48 3b 0a 0a 0a 76 6f 69 | 64 20 73 77 65 65 70 28 |H;...voi|d sweep(|
|00000330| 6c 69 73 74 28 73 65 67 | 6d 65 6e 74 29 26 20 4c |list(seg|ment)& L|
|00000340| 29 0a 7b 0a 20 20 58 5f | 73 74 72 75 63 74 75 72 |).{. X_|structur|
|00000350| 65 20 20 20 20 58 3b 0a | 20 20 59 5f 73 74 72 75 |e X;.| Y_stru|
|00000360| 63 74 75 72 65 20 20 20 | 20 59 3b 20 20 20 20 20 |cture | Y; |
|00000370| 20 20 20 20 20 20 0a 20 | 20 73 65 67 6d 65 6e 74 | . | segment|
|00000380| 20 73 3b 0a 0a 20 20 66 | 6f 72 61 6c 6c 28 73 2c | s;.. f|orall(s,|
|00000390| 4c 29 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |L) | |
|000003a0| 20 20 20 20 20 20 20 2f | 2f 20 69 6e 69 74 69 61 | /|/ initia|
|000003b0| 6c 69 7a 65 20 74 68 65 | 20 58 5f 73 74 72 75 63 |lize the| X_struc|
|000003c0| 74 75 72 65 0a 20 20 7b | 20 58 2e 69 6e 73 65 72 |ture. {| X.inser|
|000003d0| 74 28 73 2c 73 2e 73 74 | 61 72 74 28 29 29 3b 0a |t(s,s.st|art());.|
|000003e0| 20 20 20 20 58 2e 69 6e | 73 65 72 74 28 73 2c 73 | X.in|sert(s,s|
|000003f0| 2e 65 6e 64 28 29 29 3b | 0a 20 20 20 7d 0a 0a 0a |.end());|. }...|
|00000400| 20 20 2f 2f 20 73 74 61 | 72 74 20 73 77 65 65 70 | // sta|rt sweep|
|00000410| 0a 0a 20 20 58 5f 50 4f | 53 20 3d 20 2d 4d 41 58 |.. X_PO|S = -MAX|
|00000420| 44 4f 55 42 4c 45 3b 20 | 20 20 20 20 20 20 20 20 |DOUBLE; | |
|00000430| 0a 0a 20 20 48 2e 69 6e | 73 65 72 74 28 58 5f 50 |.. H.in|sert(X_P|
|00000440| 4f 53 2c 59 29 3b 20 20 | 20 20 20 20 20 20 20 20 |OS,Y); | |
|00000450| 20 20 20 20 2f 2f 20 69 | 6e 73 65 72 74 20 65 6d | // i|nsert em|
|00000460| 70 74 79 20 59 5f 73 74 | 72 75 63 74 75 72 65 20 |pty Y_st|ructure |
|00000470| 61 74 20 2d 69 6e 66 69 | 6e 69 74 79 0a 0a 20 20 |at -infi|nity.. |
|00000480| 77 68 69 6c 65 28 20 21 | 58 2e 65 6d 70 74 79 28 |while( !|X.empty(|
|00000490| 29 20 29 0a 20 20 7b 0a | 20 20 20 20 70 6f 69 6e |) ). {.| poin|
|000004a0| 74 20 20 20 70 3b 20 0a | 20 20 20 20 73 65 67 6d |t p; .| segm|
|000004b0| 65 6e 74 20 6c 3b 0a 0a | 20 20 20 20 58 2e 64 65 |ent l;..| X.de|
|000004c0| 6c 5f 6d 69 6e 28 6c 2c | 70 29 3b 20 20 20 20 20 |l_min(l,|p); |
|000004d0| 20 20 20 20 20 20 20 20 | 20 20 2f 2f 20 70 20 69 | | // p i|
|000004e0| 73 20 74 68 65 20 6e 65 | 78 74 20 74 72 61 6e 73 |s the ne|xt trans|
|000004f0| 69 74 69 74 69 6f 6e 20 | 70 6f 69 6e 74 0a 20 20 |itition |point. |
|00000500| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000510| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000520| 2f 2f 20 73 20 69 73 20 | 61 20 73 65 67 6d 65 6e |// s is |a segmen|
|00000530| 74 20 73 74 61 72 74 69 | 6e 67 20 6f 72 20 65 6e |t starti|ng or en|
|00000540| 64 69 6e 67 20 69 6e 20 | 70 0a 0a 20 20 20 20 58 |ding in |p.. X|
|00000550| 5f 50 4f 53 20 3d 20 70 | 2e 78 63 6f 6f 72 64 28 |_POS = p|.xcoord(|
|00000560| 29 3b 20 20 20 20 20 20 | 20 20 20 20 20 2f 2f 20 |); | // |
|00000570| 6d 6f 76 65 20 74 68 65 | 20 73 77 65 65 70 20 6c |move the| sweep l|
|00000580| 69 6e 65 20 74 6f 20 70 | 0a 0a 20 20 20 20 69 66 |ine to p|.. if|
|00000590| 20 28 6c 2e 73 74 61 72 | 74 28 29 3d 3d 70 29 20 | (l.star|t()==p) |
|000005a0| 20 20 20 20 20 20 20 20 | 20 20 20 20 2f 2f 20 75 | | // u|
|000005b0| 70 64 61 74 65 20 59 5f | 73 74 72 75 63 74 75 72 |pdate Y_|structur|
|000005c0| 65 20 59 0a 20 20 20 20 | 20 20 20 20 59 20 3d 20 |e Y. | Y = |
|000005d0| 59 2e 69 6e 73 65 72 74 | 28 6c 2c 30 29 3b 20 20 |Y.insert|(l,0); |
|000005e0| 20 20 20 20 20 20 2f 2f | 20 6c 65 66 74 20 70 6f | //| left po|
|000005f0| 69 6e 74 0a 20 20 20 20 | 65 6c 73 65 0a 20 20 20 |int. |else. |
|00000600| 20 20 20 20 20 59 20 3d | 20 59 2e 64 65 6c 28 6c | Y =| Y.del(l|
|00000610| 29 3b 20 20 20 20 20 20 | 20 20 20 20 20 20 20 2f |); | /|
|00000620| 2f 20 72 69 67 74 68 20 | 70 6f 69 6e 74 0a 0a 20 |/ rigth |point.. |
|00000630| 20 20 20 48 2e 69 6e 73 | 65 72 74 28 58 5f 50 4f | H.ins|ert(X_PO|
|00000640| 53 2c 59 29 3b 20 20 20 | 20 20 20 20 20 20 20 20 |S,Y); | |
|00000650| 20 2f 2f 20 69 6e 73 65 | 72 74 20 59 20 69 6e 74 | // inse|rt Y int|
|00000660| 6f 20 68 69 73 74 6f 72 | 79 20 73 65 71 75 65 6e |o histor|y sequen|
|00000670| 63 65 20 0a 0a 20 20 7d | 0a 0a 20 20 48 2e 69 6e |ce .. }|.. H.in|
|00000680| 73 65 72 74 28 4d 41 58 | 44 4f 55 42 4c 45 2c 59 |sert(MAX|DOUBLE,Y|
|00000690| 29 3b 20 20 20 20 20 20 | 20 20 20 20 2f 2f 20 69 |); | // i|
|000006a0| 6e 73 65 72 74 20 65 6d | 70 74 79 20 59 5f 73 74 |nsert em|pty Y_st|
|000006b0| 72 75 63 74 75 72 65 20 | 61 74 20 2b 69 6e 66 69 |ructure |at +infi|
|000006c0| 6e 69 74 79 0a 20 20 0a | 7d 0a 0a 0a 0a 73 65 67 |nity. .|}....seg|
|000006d0| 6d 65 6e 74 20 6c 6f 63 | 61 74 65 28 70 6f 69 6e |ment loc|ate(poin|
|000006e0| 74 20 70 29 0a 7b 0a 20 | 20 58 5f 50 4f 53 20 3d |t p).{. | X_POS =|
|000006f0| 20 70 2e 78 63 6f 6f 72 | 64 28 29 3b 0a 0a 20 20 | p.xcoor|d();.. |
|00000700| 59 5f 73 74 72 75 63 74 | 75 72 65 20 59 20 3d 20 |Y_struct|ure Y = |
|00000710| 48 2e 69 6e 66 28 48 2e | 70 72 65 64 28 58 5f 50 |H.inf(H.|pred(X_P|
|00000720| 4f 53 29 29 3b 0a 0a 20 | 20 70 5f 64 69 63 5f 69 |OS));.. | p_dic_i|
|00000730| 74 65 6d 20 70 69 74 20 | 3d 20 59 2e 73 75 63 63 |tem pit |= Y.succ|
|00000740| 28 68 6f 72 5f 73 65 67 | 28 70 29 29 3b 0a 0a 20 |(hor_seg|(p));.. |
|00000750| 20 69 66 20 28 70 69 74 | 20 21 3d 20 6e 69 6c 29 | if (pit| != nil)|
|00000760| 20 0a 20 20 20 20 20 72 | 65 74 75 72 6e 20 59 2e | . r|eturn Y.|
|00000770| 6b 65 79 28 70 69 74 29 | 3b 0a 20 20 65 6c 73 65 |key(pit)|;. else|
|00000780| 0a 20 20 20 20 20 72 65 | 74 75 72 6e 20 73 65 67 |. re|turn seg|
|00000790| 6d 65 6e 74 28 30 29 3b | 0a 20 20 0a 7d 0a 0a 5c |ment(0);|. .}..\|
|000007a0| 65 6e 64 67 72 6f 75 70 | 0a 0a |endgroup|.. |
+--------+-------------------------+-------------------------+--------+--------+