ctsc解题报告和测试数据。


ctsc解题报告和测试数据。
资源截图
代码片段和文件信息
#include 
#include 
#include 
#include 
#include 
#include 
using namespace std;

ifstream inp(“logic.in“);
ofstream out(“logic.out“);

#define cin inp
//#define cout out
int instack[128] = {0};
int outstack[128] = {0};

struct rec
{
int op[200];
int n1[200]n2[200];
bool ch[26];
int ans;
int tch;
};

int commonch;
int weight[26];
bool result[1024];

bool myisalpha(const char& c)
{
return (c >= ‘a‘ && c <= ‘z‘);
}

int process(char str[] rec& a)
{
a.ans = 25;
int i = 0 jkkin;
bool lastalpha = false;
stack op;
stack n;
int len = strlen(str);
memset(a.ch 0 sizeof(a.ch));
while (1)
{
if (i < len && myisalpha(str[i]))
{
if (lastalpha)
{
len = i;
continue;
}
j = (int)str[i++]-‘a‘;
n.push(j);
a.ch[j] = true;
lastalpha = true;
continue;
}

k = 0;
if (i < len)
{
k = outstack[str[i]];
if (outstack[str[i]] >= 9 && lastalpha)
{
len = i;
k = 0;
}
}
while (1)
{
kin = 0;
if (op.size() > 0) kin = instack[op.top()];
if (k >= kin) break;
a.ans++;
op.pop();
a.n1[a.ans] = n.top();
n.pop();
a.op[a.ans] = kin/2;
if (kin != 8)
{
a.n2[a.ans] = n.top();
n.pop();
}
n.push(a.ans);
}
lastalpha = false;
if (k == kin)
{
if (k == 0) break;
if (k == 1) 
{
op.pop();
lastalpha = true;
}
}
else
op.push(str[i]);
i++;
}

if (a.ans < 26)
{
a.ans = n.top();
}
a.tch = 0;
for (i = 0; i < 26; i++)
if (a.ch[i]) a.tch++;
//cerr << len << endl;
return len;
}

bool check(const rec& a bool init)
{
int ii1jfk = (1 << a.tch);
bool b;
bool r[200];
for (i = 0; i < k; i++)
{
i1 = i;
f = 0;
b = init;
for (j = 0; j < 26; j++)
if (a.ch[j])
{
r[j] = i1%2;
i1 >>= 1;
if (r[j]) 
{
if (weight[j] > 0) f += weight[j];
else b = false;
}
}
for (j = 26; j <= a.ans; j++)
if (a.op[j] == 1) r[j] = r[a.n1[j]] | r[a.n2[j]];
else if (a.op[j] == 2) r[j] = r[a.n1[j]] ^ r[a.n2[j]];
else if (a.op[j] == 3) r[j] = r[a.n1[j]] & r[a.n2[j]];
else if (a.op[j] == 4) r[j] = !r[a.n1[j]];
if (b)
result[f] = r[a.ans];
else
if (result[f] != r[a.ans]) return false;
}
return true;
}

bool work()
{
char str[1001] s1[1001];
cin.getline(s1 1000);
int i = 0 j;
for (j = 0; s1[j] != 0; j++)
if ((s1[j] >= ‘a‘ && s1[j] <= ‘z‘) || (s1[j] >= 0 && s1[j] < 128 && instack[s1[j]] != 0))
str[i++] = s1[j];
str[i] = 0;
//cerr << str << endl;
rec left right;
i = process(str left);
process(str+i right);
commonch = 0;
memset(weight 0 sizeof(weight));
i = 1;
for (j = 0; j < 26; j++)
if (left.ch[j] && right.ch[j])
{
commonch++;
weight[j] = i;
i <<= 1;
}
//cerr << commonch << endl;
//cerr << weight[0] << endl;
if (!chec

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

     文件     407673  2004-05-11 18:51  ctscctsc2004day2day2.pdf

     文件     202752  2004-05-11 18:48  ctscctsc2004day2day2.doc

     文件       9936  2004-05-10 15:01  ctscctsc2004day2standardmaths.cpp

     文件      16595  2004-05-11 02:24  ctscctsc2004day2standard
etwork.dpr

     文件      16396  2004-05-10 20:38  ctscctsc2004day2standard
etwork.pas

     目录          0  2004-05-30 19:09  ctscctsc2004day2standard

     文件          6  2004-05-08 22:31  ctscctsc2004day2 estdata_assemblyassembly1.ans

     文件         85  2004-04-28 14:30  ctscctsc2004day2 estdata_assemblyassembly1.in

     文件         84  2004-05-01 20:26  ctscctsc2004day2 estdata_assemblyassembly1.std

     文件          8  2004-05-10 14:43  ctscctsc2004day2 estdata_assemblyassembly2.ans

     文件       1099  2004-05-10 14:38  ctscctsc2004day2 estdata_assemblyassembly2.in

     文件       1097  2004-05-10 14:40  ctscctsc2004day2 estdata_assemblyassembly2.std

     文件         14  2004-05-08 22:31  ctscctsc2004day2 estdata_assemblyassembly3.ans

     文件        572  2004-05-05 21:27  ctscctsc2004day2 estdata_assemblyassembly3.in

     文件        574  2004-05-07 00:40  ctscctsc2004day2 estdata_assemblyassembly3.std

     文件         16  2004-05-10 14:12  ctscctsc2004day2 estdata_assemblyassembly4.ans

     文件      14263  2004-04-27 15:59  ctscctsc2004day2 estdata_assemblyassembly4.in

     文件      14264  2004-05-10 14:08  ctscctsc2004day2 estdata_assemblyassembly4.std

     文件         16  2004-05-10 14:09  ctscctsc2004day2 estdata_assemblyassembly5.ans

     文件      56886  2004-04-27 15:59  ctscctsc2004day2 estdata_assemblyassembly5.in

     文件      56886  2004-05-04 13:44  ctscctsc2004day2 estdata_assemblyassembly5.std

     文件         16  2004-05-10 14:14  ctscctsc2004day2 estdata_assemblyassembly6.ans

     文件     166930  2004-05-10 12:44  ctscctsc2004day2 estdata_assemblyassembly6.in

     文件     166930  2004-05-10 14:11  ctscctsc2004day2 estdata_assemblyassembly6.std

     文件         16  2004-05-10 14:13  ctscctsc2004day2 estdata_assemblyassembly7.ans

     文件     226738  2004-04-27 16:00  ctscctsc2004day2 estdata_assemblyassembly7.in

     文件     226738  2004-05-04 13:46  ctscctsc2004day2 estdata_assemblyassembly7.std

     文件         18  2004-05-10 14:13  ctscctsc2004day2 estdata_assemblyassembly8.ans

     文件    1416131  2004-05-04 14:26  ctscctsc2004day2 estdata_assemblyassembly8.in

     文件    1416131  2004-05-10 14:13  ctscctsc2004day2 estdata_assemblyassembly8.std

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。

发表评论

评论列表(条)