谷甚论XJOI的假数据范围
  • 板块灌水区
  • 楼主xiangyanhao
  • 当前回复7
  • 已保存回复7
  • 发布时间2021/8/4 14:59
  • 上次更新2023/11/4 12:01:46
查看原帖
谷甚论XJOI的假数据范围
296209
xiangyanhao楼主2021/8/4 14:59

题目如下:

https://xjoi.net/problem/1183

事情是这样的。用这个代码交题目,永远会在某一个测试点 WA:

#include<bits/stdc++.h>
using namespace std;
bool prime(int n){
	if(n<2) return false;
	for(int i = 2;i*i<=n;i++){
		if(n%i==0) return false;
	}
	return true;
}
int n,factor[1005];
int main(){
	memset(factor,0,sizeof(factor));
	scanf("%d",&n);
	int biggest=0,nn=n;
	for(int i = 1;i <= n;i++){
		while(prime(i)&&nn%i==0){
			factor[i]++;
			nn /= i;
			biggest = i;
		}
	}	
	cout << n << "="; 
	for(int i = 1;i <= n;i++){
		if(factor[i]!=0){
			cout << i;
			if(factor[i]!=1){
				cout << "^" << factor[i];
			}
			if(i!=biggest) cout << "*";
		}
	}
	return 0;
}

在代码读入 nn 后添加这样一段代码:

if(n==1){
	for(;;){
		printf("JUST MONIKA ");
	}
	return 0;
}

于是,这个点不 WA 了,改 TLE 了,XJOI 假数据范围实锤。

另外,如果 n=1n=1,程序理论上应该输出什么?

2021/8/4 14:59
加载中...