<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>鬼の领地 &#187; 杀毒</title>
	<atom:link href="http://blog.upsuper.org/tag/%e6%9d%80%e6%af%92/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.upsuper.org</link>
	<description>the place where there are some ghost appearing...</description>
	<lastBuildDate>Thu, 17 Jun 2010 08:12:24 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>一段被瑞星判为病毒的代码</title>
		<link>http://blog.upsuper.org/code-sentenced-to-virus-by-rising/</link>
		<comments>http://blog.upsuper.org/code-sentenced-to-virus-by-rising/#comments</comments>
		<pubDate>Sat, 31 May 2008 04:14:57 +0000</pubDate>
		<dc:creator>upsuper</dc:creator>
				<category><![CDATA[琐事杂谈]]></category>
		<category><![CDATA[NOIP]]></category>
		<category><![CDATA[杀毒]]></category>

		<guid isPermaLink="false">http://blog.upsuper.org/?p=101</guid>
		<description><![CDATA[这段代码其实是昨晚的测试中一道题的代码。这段代码虽不能AC，但是我贴出来，是因为用它编译得东西瑞星会报病毒……
附带一些信息：

编译器：g++ 3.4.2
瑞星版本：20.46.42
“病毒”名称：Trojan.PSW.Win32.GameOnline.cn

我现在越来越在想换卡巴斯基了……一年也不要多少钱……

下面是那段代码：

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
#include &#60;stdio.h&#62;
#include &#60;memory.h&#62;
&#160;
const bool IS_PRIMES&#91;&#93; = &#123;
	/*      0  1  2  3  4  5  6  7  8  9*/
	/* 0 */ 0, 0, 1, 1, 0, 1, 0, 1, 0, 0,
	/* 1 */ 0, 1, 0, 1, 0, 0, 0, 1, 0, [...]]]></description>
			<content:encoded><![CDATA[<p>这段代码其实是昨晚的测试中一道题的代码。这段代码虽不能AC，但是我贴出来，是因为用它编译得东西瑞星会报病毒……</p>
<p>附带一些信息：</p>
<ul>
<li>编译器：g++ 3.4.2</li>
<li>瑞星版本：20.46.42</li>
<li>“病毒”名称：Trojan.PSW.Win32.GameOnline.cn</li>
</ul>
<p>我现在越来越在想换卡巴斯基了……一年也不要多少钱……</p>
<p><span id="more-101"></span></p>
<p>下面是那段代码：</p>

<div class="wp_codebox"><table><tr id="p1014"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
</pre></td><td class="code" id="p101code4"><pre class="cpp" style="font-family:monospace;"><span style="color: #339900;">#include &lt;stdio.h&gt;</span>
<span style="color: #339900;">#include &lt;memory.h&gt;</span>
&nbsp;
<span style="color: #0000ff;">const</span> <span style="color: #0000ff;">bool</span> IS_PRIMES<span style="color: #008000;">&#91;</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #008000;">&#123;</span>
	<span style="color: #ff0000; font-style: italic;">/*      0  1  2  3  4  5  6  7  8  9*/</span>
	<span style="color: #ff0000; font-style: italic;">/* 0 */</span> <span style="color: #0000dd;">0</span>, <span style="color: #0000dd;">0</span>, <span style="color: #0000dd;">1</span>, <span style="color: #0000dd;">1</span>, <span style="color: #0000dd;">0</span>, <span style="color: #0000dd;">1</span>, <span style="color: #0000dd;">0</span>, <span style="color: #0000dd;">1</span>, <span style="color: #0000dd;">0</span>, <span style="color: #0000dd;">0</span>,
	<span style="color: #ff0000; font-style: italic;">/* 1 */</span> <span style="color: #0000dd;">0</span>, <span style="color: #0000dd;">1</span>, <span style="color: #0000dd;">0</span>, <span style="color: #0000dd;">1</span>, <span style="color: #0000dd;">0</span>, <span style="color: #0000dd;">0</span>, <span style="color: #0000dd;">0</span>, <span style="color: #0000dd;">1</span>, <span style="color: #0000dd;">0</span>, <span style="color: #0000dd;">1</span>,
<span style="color: #008000;">&#125;</span><span style="color: #008080;">;</span>
&nbsp;
<span style="color: #0000ff;">const</span> <span style="color: #0000ff;">int</span> FAC<span style="color: #008000;">&#91;</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #008000;">&#123;</span>	<span style="color: #0000dd;">0</span>, <span style="color: #0000dd;">1</span>, <span style="color: #0000dd;">2</span>, <span style="color: #0000dd;">6</span>, <span style="color: #0000dd;">24</span>, <span style="color: #0000dd;">120</span>, <span style="color: #0000dd;">720</span>, <span style="color: #0000dd;">5040</span>, <span style="color: #0000dd;">40320</span> <span style="color: #008000;">&#125;</span><span style="color: #008080;">;</span>
<span style="color: #0000ff;">const</span> <span style="color: #0000ff;">int</span> POW<span style="color: #008000;">&#91;</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #008000;">&#123;</span>	<span style="color: #0000dd;">0</span>, <span style="color: #0000dd;">1</span>, <span style="color: #0000dd;">10</span>, <span style="color: #0000dd;">100</span>, <span style="color: #0000dd;">1000</span>, <span style="color: #0000dd;">10000</span>, <span style="color: #0000dd;">100000</span>, <span style="color: #0000dd;">1000000</span>, <span style="color: #0000dd;">10000000</span> <span style="color: #008000;">&#125;</span><span style="color: #008080;">;</span>
&nbsp;
<span style="color: #0000ff;">bool</span> s<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">10</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
<span style="color: #0000ff;">bool</span> f<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">42000</span> <span style="color: #ff0000; font-style: italic;">/*370000*/</span> <span style="color: #ff0000; font-style: italic;">/*16100000*/</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
<span style="color: #0000ff;">int</span> q<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">42000</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span><span style="color: #0000dd;">10</span><span style="color: #008000;">&#93;</span>, qd<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">42000</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
<span style="color: #0000ff;">int</span> l, r<span style="color: #008080;">;</span>
<span style="color: #0000ff;">int</span> ans<span style="color: #008080;">;</span>
&nbsp;
<span style="color: #0000ff;">int</span> ktcv<span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> <span style="color: #000040;">*</span>x<span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #0000ff;">int</span> u <span style="color: #000080;">=</span> <span style="color: #0000dd;">11111111</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">int</span> o <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> i <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span> i <span style="color: #000080;">&lt;</span> <span style="color: #0000dd;">7</span><span style="color: #008080;">;</span> i<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
	<span style="color: #008000;">&#123;</span>
		<span style="color: #0000ff;">int</span> p <span style="color: #000080;">=</span> POW<span style="color: #008000;">&#91;</span>x<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
		u <span style="color: #000040;">-</span><span style="color: #000080;">=</span> p<span style="color: #008080;">;</span>
		<span style="color: #0000ff;">int</span> k <span style="color: #000080;">=</span> u <span style="color: #000040;">%</span> p <span style="color: #000040;">%</span> <span style="color: #0000dd;">9</span><span style="color: #008080;">;</span>
		o <span style="color: #000040;">+</span><span style="color: #000080;">=</span> k <span style="color: #000040;">*</span> FAC<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">7</span> <span style="color: #000040;">-</span> i<span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
	<span style="color: #0000ff;">return</span> o<span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
&nbsp;
<span style="color: #0000ff;">bool</span> check<span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> <span style="color: #000040;">*</span>x<span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>x<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #008000;">&#93;</span> <span style="color: #000040;">!</span><span style="color: #000080;">=</span> <span style="color: #0000dd;">1</span><span style="color: #008000;">&#41;</span>
		<span style="color: #0000ff;">return</span> <span style="color: #0000ff;">false</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> i <span style="color: #000080;">=</span> <span style="color: #0000dd;">1</span><span style="color: #008080;">;</span> i <span style="color: #000080;">&lt;</span> <span style="color: #0000dd;">8</span><span style="color: #008080;">;</span> i<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
		<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>x<span style="color: #008000;">&#91;</span>i <span style="color: #000040;">-</span> <span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span> <span style="color: #000040;">+</span> <span style="color: #0000dd;">1</span> <span style="color: #000040;">!</span><span style="color: #000080;">=</span> x<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span>
			<span style="color: #0000ff;">return</span> <span style="color: #0000ff;">false</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">return</span> <span style="color: #0000ff;">true</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
&nbsp;
<span style="color: #0000ff;">void</span> push<span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> <span style="color: #000040;">*</span>x, <span style="color: #0000ff;">int</span> d<span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #0000ff;">int</span> h <span style="color: #000080;">=</span> ktcv<span style="color: #008000;">&#40;</span>x<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>f<span style="color: #008000;">&#91;</span>h<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span>
		<span style="color: #0000ff;">return</span> <span style="color: #008080;">;</span>
	f<span style="color: #008000;">&#91;</span>h<span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #0000ff;">true</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">memcpy</span><span style="color: #008000;">&#40;</span>q<span style="color: #008000;">&#91;</span>r<span style="color: #008000;">&#93;</span>, x, <span style="color: #0000dd;">sizeof</span><span style="color: #008000;">&#40;</span>q<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	qd<span style="color: #008000;">&#91;</span>r<span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> d<span style="color: #008080;">;</span>
	r<span style="color: #000040;">++</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
&nbsp;
<span style="color: #0000ff;">inline</span> <span style="color: #0000ff;">int</span> <span style="color: #0000dd;">abs</span><span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> n<span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#123;</span> <span style="color: #0000ff;">return</span> <span style="color: #008000;">&#40;</span>n <span style="color: #000080;">&gt;</span> <span style="color: #0000dd;">0</span><span style="color: #008000;">&#41;</span> <span style="color: #008080;">?</span> n <span style="color: #008080;">:</span> <span style="color: #000040;">-</span>n<span style="color: #008080;">;</span> <span style="color: #008000;">&#125;</span>
&nbsp;
<span style="color: #0000ff;">int</span> main<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
	<span style="color: #0000dd;">freopen</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;digits.in&quot;</span>, <span style="color: #FF0000;">&quot;r&quot;</span>, <span style="color: #0000ff;">stdin</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #0000dd;">freopen</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;digits.out&quot;</span>, <span style="color: #FF0000;">&quot;w&quot;</span>, <span style="color: #0000ff;">stdout</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
&nbsp;
	<span style="color: #0000ff;">int</span> number <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
&nbsp;
	<span style="color: #0000ff;">do</span>
	<span style="color: #008000;">&#123;</span>
		<span style="color: #0000ff;">int</span> tn<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">10</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
		l <span style="color: #000080;">=</span> r <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
		<span style="color: #0000dd;">memset</span><span style="color: #008000;">&#40;</span>f, <span style="color: #0000ff;">false</span>, <span style="color: #0000dd;">sizeof</span><span style="color: #008000;">&#40;</span>f<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
&nbsp;
		<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> i <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span> i <span style="color: #000080;">&lt;</span> <span style="color: #0000dd;">8</span><span style="color: #008080;">;</span> i<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
		<span style="color: #008000;">&#123;</span>
			<span style="color: #0000dd;">scanf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;%d&quot;</span>, <span style="color: #000040;">&amp;</span>tn<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
			<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>tn<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span> <span style="color: #000080;">==</span> <span style="color: #0000dd;">0</span><span style="color: #008000;">&#41;</span>
				<span style="color: #0000ff;">return</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
			s<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">abs</span><span style="color: #008000;">&#40;</span>tn<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #008000;">&#40;</span>tn<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span> <span style="color: #000080;">&gt;</span> <span style="color: #0000dd;">0</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
			tn<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #0000dd;">abs</span><span style="color: #008000;">&#40;</span>tn<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
		<span style="color: #008000;">&#125;</span>
		ans <span style="color: #000080;">=</span> <span style="color: #000040;">-</span><span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>
		number<span style="color: #000040;">++</span><span style="color: #008080;">;</span>
		push<span style="color: #008000;">&#40;</span>tn, <span style="color: #0000dd;">0</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
&nbsp;
		<span style="color: #0000ff;">do</span>
		<span style="color: #008000;">&#123;</span>
			<span style="color: #0000ff;">int</span> d <span style="color: #000080;">=</span> qd<span style="color: #008000;">&#91;</span>l<span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
			<span style="color: #0000dd;">memcpy</span><span style="color: #008000;">&#40;</span>tn, q<span style="color: #008000;">&#91;</span>l<span style="color: #008000;">&#93;</span>, <span style="color: #0000dd;">sizeof</span><span style="color: #008000;">&#40;</span>tn<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
&nbsp;
			<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>check<span style="color: #008000;">&#40;</span>tn<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span>
			<span style="color: #008000;">&#123;</span>
				ans <span style="color: #000080;">=</span> d<span style="color: #008080;">;</span>
				<span style="color: #0000ff;">break</span><span style="color: #008080;">;</span>
			<span style="color: #008000;">&#125;</span>
			d<span style="color: #000040;">++</span><span style="color: #008080;">;</span>
&nbsp;
			<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> i <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span> i <span style="color: #000080;">&lt;</span> <span style="color: #0000dd;">8</span><span style="color: #008080;">;</span> i<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
			<span style="color: #008000;">&#123;</span>
				<span style="color: #0000ff;">int</span> ti <span style="color: #000080;">=</span> tn<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
				<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>s<span style="color: #008000;">&#91;</span>ti<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span>
					<span style="color: #0000ff;">continue</span><span style="color: #008080;">;</span>
				<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> j <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span> j <span style="color: #000080;">&lt;</span> <span style="color: #0000dd;">8</span><span style="color: #008080;">;</span> j<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
				<span style="color: #008000;">&#123;</span>
					<span style="color: #0000ff;">int</span> tj <span style="color: #000080;">=</span> tn<span style="color: #008000;">&#91;</span>j<span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
					<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>s<span style="color: #008000;">&#91;</span>tj<span style="color: #008000;">&#93;</span> <span style="color: #000040;">&amp;&amp;</span> IS_PRIMES<span style="color: #008000;">&#91;</span>ti <span style="color: #000040;">+</span> tj<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span>
					<span style="color: #008000;">&#123;</span>
						<span style="color: #0000ff;">int</span> sn<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">10</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
						<span style="color: #0000ff;">int</span> bi <span style="color: #000080;">=</span> i, bj <span style="color: #000080;">=</span> j, tij<span style="color: #008080;">;</span>
						<span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>i <span style="color: #000080;">&gt;</span> j<span style="color: #008000;">&#41;</span>
							tij <span style="color: #000080;">=</span> i, i <span style="color: #000080;">=</span> j, j <span style="color: #000080;">=</span> tij,
							tij <span style="color: #000080;">=</span> ti, ti <span style="color: #000080;">=</span> tj, tj <span style="color: #000080;">=</span> tij<span style="color: #008080;">;</span>
&nbsp;
						<span style="color: #666666;">// i -&gt; ij</span>
						<span style="color: #0000dd;">memcpy</span><span style="color: #008000;">&#40;</span>sn, tn, <span style="color: #0000dd;">sizeof</span><span style="color: #008000;">&#40;</span>sn<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
						<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> k <span style="color: #000080;">=</span> i<span style="color: #008080;">;</span> k <span style="color: #000080;">&lt;</span> j<span style="color: #008080;">;</span> k<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
							sn<span style="color: #008000;">&#91;</span>k<span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> sn<span style="color: #008000;">&#91;</span>k <span style="color: #000040;">+</span> <span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
						sn<span style="color: #008000;">&#91;</span>j <span style="color: #000040;">-</span> <span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> ti<span style="color: #008080;">;</span>
						push<span style="color: #008000;">&#40;</span>sn, d<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
						<span style="color: #666666;">// i -&gt; ji</span>
						sn<span style="color: #008000;">&#91;</span>j <span style="color: #000040;">-</span> <span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> tj<span style="color: #008080;">;</span>
						sn<span style="color: #008000;">&#91;</span>j<span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> ti<span style="color: #008080;">;</span>
						push<span style="color: #008000;">&#40;</span>sn, d<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
						<span style="color: #666666;">// ji &lt;- j</span>
						<span style="color: #0000dd;">memcpy</span><span style="color: #008000;">&#40;</span>sn, tn, <span style="color: #0000dd;">sizeof</span><span style="color: #008000;">&#40;</span>sn<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
						<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> k <span style="color: #000080;">=</span> j<span style="color: #008080;">;</span> k <span style="color: #000080;">&gt;</span> i<span style="color: #008080;">;</span> k<span style="color: #000040;">--</span><span style="color: #008000;">&#41;</span>
							sn<span style="color: #008000;">&#91;</span>k<span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> sn<span style="color: #008000;">&#91;</span>k <span style="color: #000040;">-</span> <span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
						sn<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> tj<span style="color: #008080;">;</span>
						push<span style="color: #008000;">&#40;</span>sn, d<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
						<span style="color: #666666;">// ij &lt;- j</span>
						sn<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> ti<span style="color: #008080;">;</span>
						sn<span style="color: #008000;">&#91;</span>i <span style="color: #000040;">+</span> <span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> tj<span style="color: #008080;">;</span>
						push<span style="color: #008000;">&#40;</span>sn, d<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
&nbsp;
						i <span style="color: #000080;">=</span> bi, j <span style="color: #000080;">=</span> bj<span style="color: #008080;">;</span>
						ti <span style="color: #000080;">=</span> tn<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span>, tj <span style="color: #000080;">=</span> tn<span style="color: #008000;">&#91;</span>j<span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
					<span style="color: #008000;">&#125;</span>
				<span style="color: #008000;">&#125;</span>
			<span style="color: #008000;">&#125;</span>
			l<span style="color: #000040;">++</span><span style="color: #008080;">;</span>
		<span style="color: #008000;">&#125;</span>
		<span style="color: #0000ff;">while</span> <span style="color: #008000;">&#40;</span>l <span style="color: #000080;">&lt;</span> r<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
&nbsp;
		<span style="color: #0000dd;">printf</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;Case %d: %d<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span>, number, ans<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
	<span style="color: #008000;">&#125;</span>
	<span style="color: #0000ff;">while</span> <span style="color: #008000;">&#40;</span><span style="color: #0000ff;">true</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span></pre></td></tr></table></div>

<p>这个程序是比较不严重地TLE，最慢的一个点为1.80s。我可以证明茅山的Hash是错的，不过我找不到一个足够快的Hash。如果谁有办法告诉我啊……</p>
<p>附这道题目：</p>
<h3>跳舞的数字(digits)</h3>
<h4>问题描述</h4>
<p>数字喜欢跳舞。一天，1, 2, 3, 4, 5, 6, 7 和 8 站在一行开始一个舞会。每个时刻，一个男性数字可邀请一个女性数字和他跳舞，或一个女性数字可邀请一个男性数字和她跳舞，只要他们的和是素数。</p>
<p>在每次跳舞前，只有一个数字走到他想一起跳舞的人旁边，紧邻他的左边或右边。简单的，我们表示一个男性数字x为x，表示一个女性数字x为-x。假设数字一开始有以下顺序{1, 2, 4, 5, 6, -7, -3, 8}。</p>
<p>如果-3想和4跳舞，她必须走到4的左边，顺序变成{1, 2, -3, 4, 5, 6, -7, 8}；或他的右边，顺序变成{1, 2, 4, -3, 5, 6, -7, 8}。注意到-3不能和5跳舞，因为他们的和3+5=8 不是素数；2不能和5跳舞因为他们都是男性。</p>
<p>给出数字的起始顺序，找到最少的跳舞次数，使他们成为升序（绝对值）。</p>
<h4>输入文件</h4>
<p>输入最多20组数据。每组数据包含8个数字在一行。他们的绝对值组成1到8的排列。最后一组数据后接着一个数字0，它不需要被处理。</p>
<h4>输出文件</h4>
<p>对于每组数据，输出组数和最少的跳舞次数。如果无法排成升序输出-1。</p>
<h4>样例输入</h4>

<div class="wp_codebox"><table><tr id="p1015"><td class="line_numbers"><pre>1
2
3
4
5
6
</pre></td><td class="code" id="p101code5"><pre class="text" style="font-family:monospace;">1 2 4 5 6 -7 -3 8
1 2 3 4 5 6 7 8
1 2 3 5 -4 6 7 8
1 2 3 5 4 6 7 8
2 -8 -4 5 6 7 3 -1
0</pre></td></tr></table></div>

<h4>样例输出</h4>

<div class="wp_codebox"><table><tr id="p1016"><td class="line_numbers"><pre>1
2
3
4
5
</pre></td><td class="code" id="p101code6"><pre class="text" style="font-family:monospace;">Case 1: 1
Case 2: 0
Case 3: 1
Case 4: -1
Case 5: 3</pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>http://blog.upsuper.org/code-sentenced-to-virus-by-rising/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>瑞星导致Cena测评失误</title>
		<link>http://blog.upsuper.org/rising-make-cena-wrong/</link>
		<comments>http://blog.upsuper.org/rising-make-cena-wrong/#comments</comments>
		<pubDate>Sun, 13 Jan 2008 05:49:00 +0000</pubDate>
		<dc:creator>upsuper</dc:creator>
				<category><![CDATA[雕虫小技]]></category>
		<category><![CDATA[C/C++/C#]]></category>
		<category><![CDATA[杀毒]]></category>

		<guid isPermaLink="false">http://blog.upsuper.org/?p=14</guid>
		<description><![CDATA[生日邀请赛，当然要十分慎重。昨天用C++写完了第一题的标程，生成数据后，拿到Cena上一测，竟然几乎全部显示“无输出” _-b
经过反复测试，发现如果我不用freopen修改标准流，而用fopen或fstream就没有问题。可是freopen毕竟是我们平常最常用的方法啊？如果不行，测评结果肯定也会有很大误差。不过，说一句，有一个人的C++程序测了竟然不会“无输出”，是我们信息组另一个用C++的，很早以前的程序，同样用freopen，她不会出错，我会……
一开始怀疑我的Diskeeper，结果关掉以后依旧会。最后开始怀疑瑞星。把瑞星的全部监控关掉，仍然没有解决问题。突然发现，瑞星的伞还是黄色的，发现原来还有主动防御，把主动防御全部关掉，结果就过了。
最后经过反复排查，发现是瑞星的“恶意行为检测”有问题。
我也不懂是怎么回事呃，但我已经向瑞星客服报告了这一问题。
]]></description>
			<content:encoded><![CDATA[<p>生日邀请赛，当然要十分慎重。昨天用C++写完了第一题的标程，生成数据后，拿到Cena上一测，竟然几乎全部显示“无输出” _-b</p>
<p>经过反复测试，发现如果我不用freopen修改标准流，而用fopen或fstream就没有问题。可是freopen毕竟是我们平常最常用的方法啊？如果不行，测评结果肯定也会有很大误差。不过，说一句，有一个人的C++程序测了竟然不会“无输出”，是我们信息组另一个用C++的，很早以前的程序，同样用freopen，她不会出错，我会……</p>
<p>一开始怀疑我的Diskeeper，结果关掉以后依旧会。最后开始怀疑瑞星。把瑞星的全部监控关掉，仍然没有解决问题。突然发现，瑞星的伞还是黄色的，发现原来还有主动防御，把主动防御全部关掉，结果就过了。</p>
<p>最后经过反复排查，发现是瑞星的“恶意行为检测”有问题。</p>
<p>我也不懂是怎么回事呃，但我已经向瑞星客服报告了这一问题。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.upsuper.org/rising-make-cena-wrong/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
