Online JudgeProblem SetAuthorsOnline ContestsUser
Web Board
Home Page
F.A.Qs
Statistical Charts
Problems
Submit Problem
Online Status
Prob.ID:
Register
Update your info
Authors ranklist
Current Contest
Past Contests
Scheduled Contests
Award Contest
User ID:
Password:
  Register

这题的Special Judge有错吧

Posted by Aladdin at 2004-08-12 22:33:39 on Problem 1756
试试这个我写的SJ,再看看我的输出。

#include <iostream>
#include <algorithm>
#include <fstream>
#include <cstdlib>
using namespace std;

const char* msgNo1 = "Invalid Number";

int mat[6][6] = {0}, deg[6] = {0};
int ans;
bool mark[6] = {0};

void travel(int v0)
{
	mark[v0] = true;
	for(int i = 0; i < 6; ++i)
		if(!mark[i] && mat[v0][i])
			travel(i);
}

ifstream fout;

void err(const char* msg)
{
	cout << "Wrong Answer: " << msg << endl;
	fout.close();
	exit(0);
}

int main(int argc, char* argv[])
{
	if(argc != 4)
	{
		cout << endl << "Usage: check infile outfile ansfile" << endl << endl;
		return 0;
	}
	int i, j, k;
	
	ifstream fans(argv[3]);
	fans >> ans;
	fans.close();
	ifstream fin(argv[1]);
	for(fin >> k; k--;)
	{
		fin >> i >> j;
		--i;
		--j;
		++mat[i][j];
		++mat[j][i];
		++deg[i];
		++deg[j];
	}
	fin.close();

	fout.open(argv[2]);
	if(!(fout >> k)) err(msgNo1);
	if(k != ans) err("Wrong Total Cost");
	if(!(fout >> k)) err(msgNo1);
	int sum = 0;
	while(k--)
	{
		if(!(fout >> i >> j)) err(msgNo1);
		if(i < 1 || i > 6 || j < 1 || j > 6) err("Domino Number Out of Range");
		sum += i + j;
		--i;
		--j;
		++mat[i][j];
		++mat[j][i];
		++deg[i];
		++deg[j];
	}
	if(sum != ans) err("Total Arc's Cost Not Equals to the Cost You Give");
	for(i = 0, j = 0; i < 6; ++i)
		j += deg[i] & 1;
	if(j > 2) err("No Link Exist, Too Much Odd Points");
	for(i = 0; i < 6 && !deg[i]; ++i);
	if(i < 6)
	{
		travel(i);
		for(; i < 6 && (!deg[i] || mark[i]); ++i);
	}
	if(i < 6) err("Graph Not Connected");
        char ch;
        if(fout >> ch) err("Some More Information after the Output File");
	
	fout.close();
	cout << "Accepted!" << endl;
	
	return 0;
}

Followed by:

Post your reply here:
User ID:
Password:
Title:

Content:

Home Page   Go Back  To top


All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator