Orz求助
查看原帖
Orz求助
1090526
fnfyu楼主2023/10/22 13:47
#include <stdio.h>
#include <string.h>
char arr[100001] = { 0 },d[49][3] = { 0 };
char a[] = { 'A','T','C','G' };
int main()
{
	int n, k, R1;
	scanf("%d%d%d", &n,&k,&R1);
	for (int i = 0; i < n; i++)
	{
		switch (R1 % 4)
		{
		case 0: { strncat(arr, &a[0], 1);
			break; }
		case 1: { strncat(arr, &a[1], 1);
			break; }
		case 2: { strncat(arr, &a[2], 1);
			break; }
		case 3: { strncat(arr, &a[3], 1);
			break; }
		}
		R1 = (R1 * 6807 + 2831) % 201701;
	}
	int len = 0;
	for (int i = 0; i < n; i++)
	{
			strncpy(&d[i][0], &arr[i], k);
			len++;
	}
	int p=0;
	for (int i = 0; i < len-1; i++)
	{
		for (int j = i+1; j < len; j++)
		{
			if (d[i][0] == 0||d[j][0]==0) continue;
			if (!strcmp(d[i], d[j])) d[j][0] = 0;
		}
	}
	for (int i = 0; i < len; i++)
	{
		if(d[i][0]!=0) p++;
	}
	printf("%d", p);
	return 0;
}

emmmm为什么过不去嘞 我觉得没毛病啊

2023/10/22 13:47
加载中...