• 大小: 5.23MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-09-17
  • 语言: 其他
  • 标签: noip  

资源简介

noip1995-2008测试数据及试题,有兴趣的同学可以自行下载并测试

资源截图

代码片段和文件信息

#include 
#include 
using namespace std;

ifstream fin(“alpha.in“);
ofstream fout(“alpha.out“);

bool finish hash[256] used[27];
int n stk[27];
string a b c;
string word;

void init() {
fin >> n >> a >> b >> c;
finish = false;
}

void outsol() {
int i ans[27];

for (i = 0; i < n; i ++)
ans[word[i] - 65] = stk[i];

fout << ans[0];
for (i = 1; i < n; i ++)
fout << “ “ << ans[i];
fout << endl;
finish = true;
}

void addup(char ch) {
if (!hash[ch]) {
hash[ch] = true;
word = word + ch;
}
}

string change(string str char x char y) {
for (int i = 0; i < n; i ++)
if (str[i] == x)
str[i] = y;
return str;
}

void pre_doing() {
word = ““;
memset(hash 0 sizeof(hash));

for (int i = n - 1; i >= 0; i --) {
addup(a[i]); addup(b[i]); addup(c[i]);
}

memset(used 0 sizeof(used));
}

bool bad() {
int p g = 0;
for (int i = n - 1; i >= 0; i --) {
if (a[i] >= n || b[i] >= n || c[i] >= n) return false;
p = a[i] + b[i] + g;
if (p % n != c[i]) return true;
g = p / n;
p %= n;
}
return false;
}

bool modcheck() {
int i p p1 p2 g = 0;
//a + b = c all know
for (i = n - 1; i >= 0; i --) {
if (a[i] >= n || b[i] >= n || c[i] >= n) continue;
p = (a[i] + b[i]) % n;
if (!(p == c[i] || (p + 1) % n == c[i])) return true;
}

//a + ? = c
for (i = n - 1; i >= 0; i --) {
if (!(a[i] < n && c[i] < n && b[i] >= n)) continue;
p1 = (c[i] - a[i] + n) % n;
p2 = (p1 - 1) % n;
if (used[p1] && used[p2]) return true;
}

//? + b = c
for (i = n - 1; i >= 0; i --) {
if (!(a[i] >= n && c[i] < n && b[i] < n)) continue;
p1 = (c[i] - b[i] + n) % n;
p2 = (p1 - 1) % n;
if (used[p1] && used[p2]) return true;
}

//a + b = ?
for (i = n - 1; i >= 0; i --) {
if (!(a[i] < n && b[i] < n && c[i] >= n)) continue;
p1 = (a[i] + b[i]) % n;
p2 = (p1 + 1) % n;
if (used[p1] && used[p2]) return true;
}

return false;
}

void dfs(int l) {
int i;
string A B C;

if (finish) return;
if (bad()) return;
if (modcheck()) return;

if (l == n) {
outsol();
return;
}

for (i = n - 1; i >= 0; i --)
if (!used[i]) {
used[i] = true;  A = a; B = b; C = c;
a = change(A word[l] i);
b = change(B word[l] i);
c = change(C word[l] i);
stk[l] = i;
dfs(l + 1);
used[i] = false; a = A; b = B; c = C;
}
}

int main() {
init();
pre_doing();
dfs(0);
return 0;
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件         76  2005-11-19 17:14  noip\NOIP1995提高组\OIFans.cn,我们共同的家.url

     文件      43520  2001-10-29 12:46  noip\NOIP1995提高组\初赛答案.doc

     文件     398336  2001-10-29 12:46  noip\NOIP1995提高组\初赛试题.doc

     文件      80896  2001-10-29 12:46  noip\NOIP1995提高组\复赛数据.doc

     文件      52224  2001-10-29 12:46  noip\NOIP1995提高组\复赛试题.doc

     文件         76  2005-11-19 17:14  noip\NOIP1995普及组\OIFans.cn,我们共同的家.url

     文件      45056  2001-10-29 12:46  noip\NOIP1995普及组\初赛答案.doc

     文件      82432  2001-10-29 12:46  noip\NOIP1995普及组\初赛试题.doc

     文件      79872  2001-10-29 12:46  noip\NOIP1995普及组\复赛数据.doc

     文件      50688  2001-10-29 12:46  noip\NOIP1995普及组\复赛试题.doc

     文件         76  2005-11-19 17:14  noip\NOIP1996提高组\OIFans.cn,我们共同的家.url

     文件      49152  2001-10-29 12:46  noip\NOIP1996提高组\初赛答案.doc

     文件     333312  2001-10-29 12:46  noip\NOIP1996提高组\初赛试题.doc

     文件      58880  2001-10-29 12:46  noip\NOIP1996提高组\复赛数据.doc

     文件      47104  2001-10-29 12:46  noip\NOIP1996提高组\复赛试题.doc

     文件         76  2005-11-19 17:14  noip\NOIP1996普及组\OIFans.cn,我们共同的家.url

     文件     320000  2001-10-29 12:46  noip\NOIP1996普及组\第二届奥林匹克分区联赛初赛试题(初中组 BASIC语言).doc

     文件     321024  2001-10-29 12:46  noip\NOIP1996普及组\第二届奥林匹克分区联赛初赛试题(初中组 PASCAL语言).doc

     文件      45568  2001-10-29 12:46  noip\NOIP1996普及组\第二届奥林匹克分区联赛初赛试题(初中组)参考答案.doc

     文件      48128  2001-10-29 12:46  noip\NOIP1996普及组\第二届奥林匹克分区联赛复赛试题(初中组).doc

     文件      57344  2001-10-29 12:46  noip\NOIP1996普及组\第二届奥林匹克分区联赛(初中组)复赛测试数据.doc

     文件       1166  2000-10-25 21:54  noip\NOIP1997提高组\97fsgz1.gif

     文件       1171  2000-10-25 21:54  noip\NOIP1997提高组\97fsgz2.gif

     文件       1357  2000-10-25 21:54  noip\NOIP1997提高组\97fsgz3.gif

     文件       1176  2000-10-25 21:54  noip\NOIP1997提高组\97fsgz4.gif

     文件       1583  2000-10-25 21:54  noip\NOIP1997提高组\97fsgz5.gif

     文件       1516  2000-10-25 21:54  noip\NOIP1997提高组\97fsgz6.gif

     文件       1225  2000-10-25 21:54  noip\NOIP1997提高组\97fsgz7.gif

     文件       2084  2000-10-25 21:54  noip\NOIP1997提高组\97fsgz8.gif

     文件         76  2005-11-19 17:14  noip\NOIP1997提高组\OIFans.cn,我们共同的家.url

............此处省略1361个文件信息

评论

共有 条评论