相同输入,本地输出与洛谷测评不同,分数30
查看原帖
相同输入,本地输出与洛谷测评不同,分数30
502613
KingHui楼主2021/4/16 23:58

下载了数据2,将输入在本地测试时,发现本地输出与正确输出相同,但根据测试点信息(1行1列,读取F,因该为A)判断,洛谷评测输出了Failed,与本地不一致,只有30分,求助大佬!!! 代码(开发环境VS2019,语言C):

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

char mi[110] = "\0", ming[110] = "\0", que[110] = "\0";
int main()
{
	int res[110] = { 0 };
	int key[30] = { 0 }, chachong[30] = { 0 };
	scanf("%s\n%s\n%s",&mi,&ming,&que);
	//确定密钥
	if (strlen(mi) < 26)
	{
		printf("Falied");
		return 0;
	}
	for (int i = 0; mi[i] != '\0'; i++)
	{
		if (key[mi[i] - 'A'] == 0)
			key[mi[i] - 'A'] = ming[i];
		else
			if (key[mi[i] - 'A'] == ming[i])
				key[mi[i] - 'A'] = ming[i];
			else
			{
				printf("Falied");
				return 0;
			}
	}
	for (int i = 0; i < 30; i++)
	{
		chachong[key[i] - 'A']++;
		if (chachong[key[i] - 'A'] > 1)
		{
			printf("Falied");
			return 0;
		}
	}
	//翻译
	for (int i = 0; que[i] != '\0'; i++)
	{
		if (key[que[i] - 'A'] == 0)
		{
			printf("Falied");
			return 0;
		}
		else
			res[i] = key[que[i] - 'A'];
	}
	//输出部分
	int len = 0;
	len = strlen(que);
	for (int i = 0; i < len; i++)
		printf("%c", res[i]);
	return 0;
}
2021/4/16 23:58
加载中...