资源简介
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个文件信息
相关资源
- NOIP 数据结构课件
- noip2009测试数据
- CSP-J、CSP-S初赛知识点-信息学竞赛中
- noip模拟测试4题
- USACO训练测试数据
- NOIP2017提高组数据
- NOIP近7年真题含测试数据和测试软件
- CCF中学生计算机程序设计-入门篇
- noip所有算法详解(非常全面)
- 2013吉林大学信息学竞赛冬令营课程资
- noip提高组模拟题1sz
- 信息学奥赛noip2013年提高组试题及测试
- 2016山东省NOI省队集训DAY7 题目题解数
- 2016山东省NOI省队集训DAY5 题目题解数
- 2016山东省NOI省队集训DAY3 题目题解数
- 我的几套noip模拟题
- NOIP2012复赛评测数据
- 算法竞赛宝典第二部资源包
- 突破营 测试 No.1.rar
- NOIP2004-2016提高组复赛历年原题&题解合
- noip模拟题13
- NOIP暑假模拟考试[题目+数据]清华爷出
- NOIP2015复赛提高组数据
- noip提高组模拟题2sz
- NOIP暑假模拟考试[题目+数据]清华爷出
- 少儿编程行业报告(2020.10.13).rar
- 信息学奥赛一本通 NOIP500+第2部分
- 2018常州一中夏令营模拟题普及组+提高
- 2018信息夏令营资源
- noip复赛(十套模拟题测试数据).ra
评论
共有 条评论