问提描述:
有n个男孩m1,m2,…,mn 与n 个女孩w1,w2,wn。每一个男孩mi 都依照喜爱这n个女孩的程度列成一张表,最喜欢的女孩排在第1 位,最不喜爱的女孩排在第n 位;同样地,每一个女孩wi 也依照她喜爱n 个男孩的程度列成一张表。请写一个程序,把每一个男孩与女孩的喜爱表格读入,并且把男孩与女孩一一配对,使得:如果mp 与wq 是一对的话,那么,第一:对mp 的喜爱表格中排在wq 之前的女孩而言,她的伴侣在她的表格中一定排在mp 之前;第二:对wq 的喜爱表格中排在mp 之前的男孩而言,他的伴侣在他的表格中一定排在wq 之前。这就是稳定伴侣(Stable Marriage)问题。
解决这个问题的主要思想是男孩要不断向女孩表白,女孩决定接受哪个男孩。
第一轮,所有没有对象的男孩各自向自己心目中最喜欢的女孩表白,当男孩表白完之后女孩开始选择男孩,第一轮所有女孩都还没有对象,所以女孩所要做的事就是在所有向自己表白的男孩中选择自己最喜欢的做自己的伴侣就行了,但是这个伴侣只是暂时的。女孩选择完伴侣,第一轮结束,可能有两种情况:
- 所有男孩都有了对象,说明第一次就正好配对成功,结束程序。每个男孩最喜欢的女孩也最喜欢这个男孩。这简直是太完美了,不过这种情况出现的概率极小。
- 第二种就是有的男孩被拒绝了,有的女孩还没有被表白。这时候就要继续第一轮的过程:所有还没有对象的男孩在所有还没有拒绝他的女孩中选择最喜欢的一位向她表白;男孩表白完,所有女孩无论有没有对象,都要在所有向他表白的男孩中选择最喜欢的一个做自己的伴侣,如果女孩有伴侣,那么他就要放弃当前的伴侣,这样的话之前有对象的男孩可能又会变成单身。如此循环,只要还有男孩没有对象,就继续该过程,直到所有男孩都有对象了,就说明配对成功了,此时的组合即是最稳定组合,也就是说,即便女孩找到一个比自己当前伴侣更好的男孩,女孩在男孩心中却不如自己当前的伴侣,这样劈腿就不能成功了,也就是组合是稳定
主要参考算法:Gale-Shapley算法
java代码如下
package stabalpartner; /** * Created by yeqf on 5/25/15. */ public class StablePartner { public static void main(String[] args) { Boy[] boys = new Boy[4]; boys[0] = new Boy(2, 3, 1, 0); boys[1] = new Boy(2, 1, 3, 0); boys[2] = new Boy(0, 2, 3, 1); boys[3] = new Boy(1, 3, 2, 0); Girl[] girls = new Girl[4]; girls[0] = new Girl(0, 3, 2, 1); girls[1] = new Girl(0, 1, 2, 3); girls[2] = new Girl(0, 2, 3, 1); girls[3] = new Girl(1, 0, 3, 2); boolean flag = true; while (flag) { for (int i = 0; i < 4; i++) { Boy boy = boys[i]; if (!boy.hasPart()) { //如果男孩没有伴侣 for (int j = 0; j < 4; j++) { int girlId = boy.getGirlFromOrd(j).getId(); //得到该男孩心中排名为j的女孩的id if (!boy.getGirlFromOrd(j).getIsRefused()) { //如果这个女孩没有拒绝过男孩 girls[girlId].getBoyFromId(i).setIsAspired(true); //男孩向女孩表白 break; } } } } for (int i = 0; i < 4; i++) { Girl girl = girls[i]; for (int j = 0; j < 4; j++) { if (girl.getBoyFromOrd(j).getAspired()) { //如果该男孩向女孩表过白 //拒绝排名在该男孩后面的所有向该女孩表白的男孩 for (int k = j + 1; k < 4; k++) { if (girl.getBoyFromOrd(k).getAspired()) { int boyId = girl.getBoyFromOrd(k).getId(); boys[boyId].getGirlFromId(i).setIsRefused(true); //如果男孩是该女孩的当前伴侣,则放弃该男孩,并把该男孩设置为单身 if (girl.getPartner() == boyId) { boys[boyId].setPartner(-1); } } } girl.setPartner(girl.getBoyFromOrd(j).getId()); //女孩接受所有表白者中排名最高的男孩 boys[girl.getBoyFromOrd(j).getId()].setPartner(i); //并把男孩的伴侣设置为该女孩 break; } } } if (boys[0].hasPart() && boys[1].hasPart() && boys[2].hasPart() && boys[3].hasPart()) { flag = false; } } for (int i = 0; i < 4; i++) { System.out.println("boy " + i + " de partner is " + "girl " + boys[i].getPartner()); } } private static class Boy { private GirlList[] girlLists = new GirlList[4]; private int partner = -1; private class GirlList { private boolean isRefused = false; private int id; public GirlList(int id) { this.id = id; } public void setIsRefused(boolean flag) { isRefused = flag; } public boolean getIsRefused() { return isRefused; } public int getId() { return id; } } public Boy(int a, int b, int c, int d) { girlLists[0] = new GirlList(a); girlLists[1] = new GirlList(b); girlLists[2] = new GirlList(c); girlLists[3] = new GirlList(d); } public int getPartner() { return partner; } public void setPartner(int partner) { this.partner = partner; } public boolean hasPart() { if (partner == -1) { return false; } return true; } public GirlList getGirlFromOrd(int order) { return girlLists[order]; } public GirlList getGirlFromId(int id) { int ord = 0; while (girlLists[ord].getId() != id) { ord++; } return girlLists[ord]; } } private static class Girl { private BoyList[] boyLists = new BoyList[4]; private int partner = -1; private class BoyList { private boolean isAspired = false; private int id; public BoyList(int id) { this.id = id; } public void setIsAspired(boolean flag) { this.isAspired = flag; } public boolean getAspired() { return isAspired; } public int getId() { return id; } } public Girl(int a, int b, int c, int d) { boyLists[0] = new BoyList(a); boyLists[1] = new BoyList(b); boyLists[2] = new BoyList(c); boyLists[3] = new BoyList(d); } public int getPartner() { return partner; } public void setPartner(int partner) { this.partner = partner; } public boolean hasPart() { if (partner == -1) { return false; } return true; } public BoyList getBoyFromOrd(int ord) { return boyLists[ord]; } public BoyList getBoyFromId(int id) { int ord = 0; while (boyLists[ord].getId() != id) { ord++; } return boyLists[ord]; } } }
作者:yeqf911
时间:2015/5/28
generated by haroopad
:first-child{margin-top:0!important}img.plugin{box-shadow:0 1px 3px rgba(0,0,0,.1);border-radius:3px}iframe{border:0}figure{-webkit-margin-before:0;-webkit-margin-after:0;-webkit-margin-start:0;-webkit-margin-end:0}kbd{border:1px solid #aaa;-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px;-moz-box-shadow:1px 2px 2px #ddd;-webkit-box-shadow:1px 2px 2px #ddd;box-shadow:1px 2px 2px #ddd;background-color:#f9f9f9;background-image:-moz-linear-gradient(top,#eee,#f9f9f9,#eee);background-image:-o-linear-gradient(top,#eee,#f9f9f9,#eee);background-image:-webkit-linear-gradient(top,#eee,#f9f9f9,#eee);background-image:linear-gradient(top,#eee,#f9f9f9,#eee);padding:1px 3px;font-family:inherit;font-size:.85em}.oembeded .oembed_photo{display:inline-block}img[data-echo]{margin:25px 0;width:100px;height:100px;background:url(../img/ajax.gif) center center no-repeat #fff}.spinner{display:inline-block;width:10px;height:10px;margin-bottom:-.1em;border:2px solid rgba(0,0,0,.5);border-top-color:transparent;border-radius:100%;-webkit-animation:spin 1s infinite linear;animation:spin 1s infinite linear}.spinner:after{content:‘‘;display:block;width:0;height:0;position:absolute;top:-6px;left:0;border:4px solid transparent;border-bottom-color:rgba(0,0,0,.5);-webkit-transform:rotate(45deg);transform:rotate(45deg)}@-webkit-keyframes spin{to{-webkit-transform:rotate(360deg)}}@keyframes spin{to{transform:rotate(360deg)}}p.toc{margin:0!important}p.toc ul{padding-left:10px}p.toc>ul{padding:10px;margin:0 10px;display:inline-block;border:1px solid #ededed;border-radius:5px}p.toc li,p.toc ul{list-style-type:none}p.toc li{width:100%;padding:0;overflow:hidden}p.toc li a::after{content:"."}p.toc li a:before{content:"? "}p.toc h5{text-transform:uppercase}p.toc .title{float:left;padding-right:3px}p.toc .number{margin:0;float:right;padding-left:3px;background:#fff;display:none}input.task-list-item{margin-left:-1.62em}.markdown{font-family:"Hiragino Sans GB","Microsoft YaHei",STHeiti,SimSun,"Lucida Grande","Lucida Sans Unicode","Lucida Sans",‘Segoe UI‘,AppleSDGothicNeo-Medium,‘Malgun Gothic‘,Verdana,Tahoma,sans-serif;padding:20px}.markdown a{text-decoration:none;vertical-align:baseline}.markdown a:hover{text-decoration:underline}.markdown h1{font-size:2.2em;font-weight:700;margin:1.5em 0 1em}.markdown h2{font-size:1.8em;font-weight:700;margin:1.275em 0 .85em}.markdown h3{font-size:1.6em;font-weight:700;margin:1.125em 0 .75em}.markdown h4{font-size:1.4em;font-weight:700;margin:.99em 0 .66em}.markdown h5{font-size:1.2em;font-weight:700;margin:.855em 0 .57em}.markdown h6{font-size:1em;font-weight:700;margin:.75em 0 .5em}.markdown h1+p,.markdown h1:first-child,.markdown h2+p,.markdown h2:first-child,.markdown h3+p,.markdown h3:first-child,.markdown h4+p,.markdown h4:first-child,.markdown h5+p,.markdown h5:first-child,.markdown h6+p,.markdown h6:first-child{margin-top:0}.markdown hr{border:1px solid #ccc}.markdown p{margin:1em 0;word-wrap:break-word}.markdown ol{list-style-type:decimal}.markdown li{display:list-item;line-height:1.4em}.markdown blockquote{margin:1em 20px}.markdown blockquote>:first-child{margin-top:0}.markdown blockquote>:last-child{margin-bottom:0}.markdown blockquote cite:before{content:‘\2014 \00A0‘}.markdown .code{border-radius:3px;word-wrap:break-word}.markdown pre{border-radius:3px;word-wrap:break-word;border:1px solid #ccc;overflow:auto;padding:.5em}.markdown pre code{border:0;display:block}.markdown pre>code{font-family:Consolas,Inconsolata,Courier,monospace;font-weight:700;white-space:pre;margin:0}.markdown code{border-radius:3px;word-wrap:break-word;border:1px solid #ccc;padding:0 5px;margin:0 2px}.markdown img{max-width:100%}.markdown mark{color:#000;background-color:#fcf8e3}.markdown table{padding:0;border-collapse:collapse;border-spacing:0;margin-bottom:16px}.markdown table tr td,.markdown table tr th{border:1px solid #ccc;margin:0;padding:6px 13px}.markdown table tr th{font-weight:700}.markdown table tr th>:first-child{margin-top:0}.markdown table tr th>:last-child{margin-bottom:0}.markdown table tr td>:first-child{margin-top:0}.markdown table tr td>:last-child{margin-bottom:0}@import url(http://fonts.googleapis.com/css?family=Roboto+Condensed:300italic,400italic,700italic,400,300,700);.haroopad{padding:20px;color:#222;font-size:15px;font-family:"Roboto Condensed",Tauri,"Hiragino Sans GB","Microsoft YaHei",STHeiti,SimSun,"Lucida Grande","Lucida Sans Unicode","Lucida Sans",‘Segoe UI‘,AppleSDGothicNeo-Medium,‘Malgun Gothic‘,Verdana,Tahoma,sans-serif;background:#fff;line-height:1.6;-webkit-font-smoothing:antialiased}.haroopad a{color:#3269a0}.haroopad a:hover{color:#4183c4}.haroopad h2{border-bottom:1px solid #e6e6e6}.haroopad h6{color:#777}.haroopad hr{border:1px solid #e6e6e6}.haroopad blockquote>code,.haroopad h1>code,.haroopad h2>code,.haroopad h3>code,.haroopad h4>code,.haroopad h5>code,.haroopad h6>code,.haroopad li>code,.haroopad p>code,.haroopad td>code{font-family:Consolas,"Liberation Mono",Menlo,Courier,monospace;font-size:85%;background-color:rgba(0,0,0,.02);padding:.2em .5em;border:1px solid #efefef}.haroopad pre>code{font-size:1em;letter-spacing:-1px;font-weight:700}.haroopad blockquote{border-left:4px solid #e6e6e6;padding:0 15px;color:#777}.haroopad table{background-color:#fafafa}.haroopad table tr td,.haroopad table tr th{border:1px solid #e6e6e6}.haroopad table tr:nth-child(2n){background-color:#f2f2f2}.hljs{display:block;overflow-x:auto;padding:.5em;background:#fdf6e3;color:#657b83;-webkit-text-size-adjust:none}.diff .hljs-header,.hljs-comment,.hljs-doctype,.hljs-javadoc,.hljs-pi,.lisp .hljs-string{color:#93a1a1}.css .hljs-tag,.hljs-addition,.hljs-keyword,.hljs-request,.hljs-status,.hljs-winutils,.method,.nginx .hljs-title{color:#859900}.hljs-command,.hljs-dartdoc,.hljs-hexcolor,.hljs-link_url,.hljs-number,.hljs-phpdoc,.hljs-regexp,.hljs-rules .hljs-value,.hljs-string,.hljs-tag .hljs-value,.tex .hljs-formula{color:#2aa198}.css .hljs-function,.hljs-built_in,.hljs-chunk,.hljs-decorator,.hljs-id,.hljs-identifier,.hljs-localvars,.hljs-title,.vhdl .hljs-literal{color:#268bd2}.hljs-attribute,.hljs-class .hljs-title,.hljs-constant,.hljs-link_reference,.hljs-parent,.hljs-type,.hljs-variable,.lisp .hljs-body,.smalltalk .hljs-number{color:#b58900}.css .hljs-pseudo,.diff .hljs-change,.hljs-attr_selector,.hljs-cdata,.hljs-header,.hljs-pragma,.hljs-preprocessor,.hljs-preprocessor .hljs-keyword,.hljs-shebang,.hljs-special,.hljs-subst,.hljs-symbol,.hljs-symbol .hljs-string{color:#cb4b16}.hljs-deletion,.hljs-important{color:#dc322f}.hljs-link_label{color:#6c71c4}.tex .hljs-formula{background:#eee8d5}.MathJax_Hover_Frame{border-radius:.25em;-webkit-border-radius:.25em;-moz-border-radius:.25em;-khtml-border-radius:.25em;box-shadow:0 0 15px #83A;-webkit-box-shadow:0 0 15px #83A;-moz-box-shadow:0 0 15px #83A;-khtml-box-shadow:0 0 15px #83A;border:1px solid #A6D!important;display:inline-block;position:absolute}.MathJax_Hover_Arrow{position:absolute;width:15px;height:11px;cursor:pointer}#MathJax_About{position:fixed;left:50%;width:auto;text-align:center;border:3px outset;padding:1em 2em;background-color:#DDD;color:#000;cursor:default;font-family:message-box;font-size:120%;font-style:normal;text-indent:0;text-transform:none;line-height:normal;letter-spacing:normal;word-spacing:normal;word-wrap:normal;white-space:nowrap;float:none;z-index:201;border-radius:15px;-webkit-border-radius:15px;-moz-border-radius:15px;-khtml-border-radius:15px;box-shadow:0 10px 20px gray;-webkit-box-shadow:0 10px 20px gray;-moz-box-shadow:0 10px 20px gray;-khtml-box-shadow:0 10px 20px gray;filter:progid:DXImageTransform.Microsoft.dropshadow(OffX=2, OffY=2, Color=‘gray‘, Positive=‘true‘)}.MathJax_Menu{position:absolute;background-color:#fff;color:#000;width:auto;padding:2px;border:1px solid #CCC;margin:0;cursor:default;font:menu;text-align:left;text-indent:0;text-transform:none;line-height:normal;letter-spacing:normal;word-spacing:normal;word-wrap:normal;white-space:nowrap;float:none;z-index:201;box-shadow:0 10px 20px gray;-webkit-box-shadow:0 10px 20px gray;-moz-box-shadow:0 10px 20px gray;-khtml-box-shadow:0 10px 20px gray;filter:progid:DXImageTransform.Microsoft.dropshadow(OffX=2, OffY=2, Color=‘gray‘, Positive=‘true‘)}.MathJax_MenuItem{padding:2px 2em;background:0 0}.MathJax_MenuArrow{position:absolute;right:.5em;color:#666}.MathJax_MenuActive .MathJax_MenuArrow{color:#fff}.MathJax_MenuArrow.RTL{left:.5em;right:auto}.MathJax_MenuCheck{position:absolute;left:.7em}.MathJax_MenuCheck.RTL{right:.7em;left:auto}.MathJax_MenuRadioCheck{position:absolute;left:1em}.MathJax_MenuRadioCheck.RTL{right:1em;left:auto}.MathJax_MenuLabel{padding:2px 2em 4px 1.33em;font-style:italic}.MathJax_MenuRule{border-top:1px solid #CCC;margin:4px 1px 0}.MathJax_MenuDisabled{color:GrayText}.MathJax_MenuActive{background-color:Highlight;color:HighlightText}.MathJax_Menu_Close{position:absolute;width:31px;height:31px;top:-15px;left:-15px}#MathJax_Zoom{position:absolute;background-color:#F0F0F0;overflow:auto;display:block;z-index:301;padding:.5em;border:1px solid #000;margin:0;font-weight:400;font-style:normal;text-align:left;text-indent:0;text-transform:none;line-height:normal;letter-spacing:normal;word-spacing:normal;word-wrap:normal;white-space:nowrap;float:none;box-shadow:5px 5px 15px #AAA;-webkit-box-shadow:5px 5px 15px #AAA;-moz-box-shadow:5px 5px 15px #AAA;-khtml-box-shadow:5px 5px 15px #AAA;filter:progid:DXImageTransform.Microsoft.dropshadow(OffX=2, OffY=2, Color=‘gray‘, Positive=‘true‘)}#MathJax_ZoomOverlay{position:absolute;left:0;top:0;z-index:300;display:inline-block;width:100%;height:100%;border:0;padding:0;margin:0;background-color:#fff;opacity:0;filter:alpha(opacity=0)}#MathJax_ZoomFrame{position:relative;display:inline-block;height:0;width:0}#MathJax_ZoomEventTrap{position:absolute;left:0;top:0;z-index:302;display:inline-block;border:0;padding:0;margin:0;background-color:#fff;opacity:0;filter:alpha(opacity=0)}.MathJax_Preview{color:#888}#MathJax_Message{position:fixed;left:1px;bottom:2px;background-color:#E6E6E6;border:1px solid #959595;margin:0;padding:2px 8px;z-index:102;color:#000;font-size:80%;width:auto;white-space:nowrap}#MathJax_MSIE_Frame{position:absolute;top:0;left:0;width:0;z-index:101;border:0;margin:0;padding:0}.MathJax_Error{color:#C00;font-style:italic}.MathJax_Display{text-align:center;margin:1em 0;position:relative;display:block!important;text-indent:0;max-width:none;max-height:none;min-width:0;min-height:0;width:100%}.MathJax .merror{background-color:#FF8;color:#C00;border:1px solid #C00;padding:1px 3px;font-style:normal;font-size:90%}.MathJax .MJX-monospace{font-family:monospace}.MathJax .MJX-sans-serif{font-family:sans-serif}#MathJax_Tooltip{background-color:InfoBackground;color:InfoText;border:1px solid #000;box-shadow:2px 2px 5px #AAA;-webkit-box-shadow:2px 2px 5px #AAA;-moz-box-shadow:2px 2px 5px #AAA;-khtml-box-shadow:2px 2px 5px #AAA;filter:progid:DXImageTransform.Microsoft.dropshadow(OffX=2, OffY=2, Color=‘gray‘, Positive=‘true‘);padding:3px 4px;z-index:401;position:absolute;left:0;top:0;width:auto;height:auto;display:none}.MathJax{display:inline;font-style:normal;font-weight:400;line-height:normal;font-size:100%;font-size-adjust:none;text-indent:0;text-align:left;text-transform:none;letter-spacing:normal;word-spacing:normal;word-wrap:normal;white-space:nowrap;float:none;direction:ltr;max-width:none;max-height:none;min-width:0;min-height:0;border:0;padding:0;margin:0}.MathJax a,.MathJax img,.MathJax nobr{border:0;padding:0;margin:0;max-width:5000em;max-height:5000em;min-width:0;min-height:0;vertical-align:0;line-height:normal;text-decoration:none}img.MathJax_strut{border:0!important;padding:0!important;margin:0!important;vertical-align:0!important}.MathJax span{display:inline;position:static;border:0;padding:0;margin:0;vertical-align:0;line-height:normal;text-decoration:none}.MathJax nobr{white-space:nowrap!important}.MathJax img{display:inline!important;float:none!important}.MathJax *{transition:none;-webkit-transition:none;-moz-transition:none;-ms-transition:none;-o-transition:none}.MathJax_Processing{visibility:hidden;position:fixed;width:0;height:0;overflow:hidden}.MathJax_Processed{display:none!important}.MathJax_ExBox{display:block!important;overflow:hidden;width:1px;height:60ex;min-height:0;max-height:none}.MathJax .MathJax_EmBox{display:block!important;overflow:hidden;width:1px;height:60em;min-height:0;max-height:none}.MathJax .MathJax_HitBox{cursor:text;background:#fff;opacity:0;filter:alpha(opacity=0)}#MathJax_Tooltip *,.MathJax .MathJax_HitBox *{filter:none;opacity:1;background:0 0}@font-face{font-family:MathJax_Main;src:url(file:///C:/Users/yeqf/AppData/Roaming/Haroo%20Studio/Haroopad/Libraries/.js/MathJax/fonts/HTML-CSS/TeX/woff/MathJax_Main-Regular.woff?rev=2.4-beta-2) format(‘woff‘),url(file:///C:/Users/yeqf/AppData/Roaming/Haroo%20Studio/Haroopad/Libraries/.js/MathJax/fonts/HTML-CSS/TeX/otf/MathJax_Main-Regular.otf?rev=2.4-beta-2) format(‘opentype‘)}@font-face{font-family:MathJax_Main;src:url(file:///C:/Users/yeqf/AppData/Roaming/Haroo%20Studio/Haroopad/Libraries/.js/MathJax/fonts/HTML-CSS/TeX/woff/MathJax_Main-Bold.woff?rev=2.4-beta-2) format(‘woff‘),url(file:///C:/Users/yeqf/AppData/Roaming/Haroo%20Studio/Haroopad/Libraries/.js/MathJax/fonts/HTML-CSS/TeX/otf/MathJax_Main-Bold.otf?rev=2.4-beta-2) format(‘opentype‘);font-weight:700}@font-face{font-family:MathJax_Main;src:url(file:///C:/Users/yeqf/AppData/Roaming/Haroo%20Studio/Haroopad/Libraries/.js/MathJax/fonts/HTML-CSS/TeX/woff/MathJax_Main-Italic.woff?rev=2.4-beta-2) format(‘woff‘),url(file:///C:/Users/yeqf/AppData/Roaming/Haroo%20Studio/Haroopad/Libraries/.js/MathJax/fonts/HTML-CSS/TeX/otf/MathJax_Main-Italic.otf?rev=2.4-beta-2) format(‘opentype‘);font-style:italic}@font-face{font-family:MathJax_Math;src:url(file:///C:/Users/yeqf/AppData/Roaming/Haroo%20Studio/Haroopad/Libraries/.js/MathJax/fonts/HTML-CSS/TeX/woff/MathJax_Math-Italic.woff?rev=2.4-beta-2) format(‘woff‘),url(file:///C:/Users/yeqf/AppData/Roaming/Haroo%20Studio/Haroopad/Libraries/.js/MathJax/fonts/HTML-CSS/TeX/otf/MathJax_Math-Italic.otf?rev=2.4-beta-2) format(‘opentype‘);font-style:italic}@font-face{font-family:MathJax_Caligraphic;src:url(file:///C:/Users/yeqf/AppData/Roaming/Haroo%20Studio/Haroopad/Libraries/.js/MathJax/fonts/HTML-CSS/TeX/woff/MathJax_Caligraphic-Regular.woff?rev=2.4-beta-2) format(‘woff‘),url(file:///C:/Users/yeqf/AppData/Roaming/Haroo%20Studio/Haroopad/Libraries/.js/MathJax/fonts/HTML-CSS/TeX/otf/MathJax_Caligraphic-Regular.otf?rev=2.4-beta-2) format(‘opentype‘)}@font-face{font-family:MathJax_Size1;src:url(file:///C:/Users/yeqf/AppData/Roaming/Haroo%20Studio/Haroopad/Libraries/.js/MathJax/fonts/HTML-CSS/TeX/woff/MathJax_Size1-Regular.woff?rev=2.4-beta-2) format(‘woff‘),url(file:///C:/Users/yeqf/AppData/Roaming/Haroo%20Studio/Haroopad/Libraries/.js/MathJax/fonts/HTML-CSS/TeX/otf/MathJax_Size1-Regular.otf?rev=2.4-beta-2) format(‘opentype‘)}@font-face{font-family:MathJax_Size2;src:url(file:///C:/Users/yeqf/AppData/Roaming/Haroo%20Studio/Haroopad/Libraries/.js/MathJax/fonts/HTML-CSS/TeX/woff/MathJax_Size2-Regular.woff?rev=2.4-beta-2) format(‘woff‘),url(file:///C:/Users/yeqf/AppData/Roaming/Haroo%20Studio/Haroopad/Libraries/.js/MathJax/fonts/HTML-CSS/TeX/otf/MathJax_Size2-Regular.otf?rev=2.4-beta-2) format(‘opentype‘)}@font-face{font-family:MathJax_Size3;src:url(file:///C:/Users/yeqf/AppData/Roaming/Haroo%20Studio/Haroopad/Libraries/.js/MathJax/fonts/HTML-CSS/TeX/woff/MathJax_Size3-Regular.woff?rev=2.4-beta-2) format(‘woff‘),url(file:///C:/Users/yeqf/AppData/Roaming/Haroo%20Studio/Haroopad/Libraries/.js/MathJax/fonts/HTML-CSS/TeX/otf/MathJax_Size3-Regular.otf?rev=2.4-beta-2) format(‘opentype‘)}@font-face{font-family:MathJax_Size4;src:url(file:///C:/Users/yeqf/AppData/Roaming/Haroo%20Studio/Haroopad/Libraries/.js/MathJax/fonts/HTML-CSS/TeX/woff/MathJax_Size4-Regular.woff?rev=2.4-beta-2) format(‘woff‘),url(file:///C:/Users/yeqf/AppData/Roaming/Haroo%20Studio/Haroopad/Libraries/.js/MathJax/fonts/HTML-CSS/TeX/otf/MathJax_Size4-Regular.otf?rev=2.4-beta-2) format(‘opentype‘)}.MathJax .noError{font-size:90%;text-align:left;color:#000;padding:1px 3px;border:1px solid}@font-face{font-family:MathJax_AMS;src:url(file:///C:/Users/yeqf/AppData/Roaming/Haroo%20Studio/Haroopad/Libraries/.js/MathJax/fonts/HTML-CSS/TeX/woff/MathJax_AMS-Regular.woff?rev=2.4-beta-2) format(‘woff‘),url(file:///C:/Users/yeqf/AppData/Roaming/Haroo%20Studio/Haroopad/Libraries/.js/MathJax/fonts/HTML-CSS/TeX/otf/MathJax_AMS-Regular.otf?rev=2.4-beta-2) format(‘opentype‘)}footer{position:fixed;font-size:.8em;text-align:right;bottom:0;margin-left:-25px;height:20px;width:100%}
-->