結果

問題 No.2358 xy+yz+zx=N
ユーザー 乾麺乾麺
提出日時 2024-04-05 15:56:37
言語 C++23
(gcc 12.3.0 + boost 1.83.0)
結果
WA  
実行時間 -
コード長 1,864 bytes
コンパイル時間 3,105 ms
コンパイル使用メモリ 272,300 KB
実行使用メモリ 6,676 KB
最終ジャッジ日時 2024-04-05 15:56:44
合計ジャッジ時間 5,901 ms
ジャッジサーバーID
(参考情報)
judge15 / judge11
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 WA -
testcase_01 WA -
testcase_02 WA -
testcase_03 WA -
testcase_04 WA -
testcase_05 WA -
testcase_06 WA -
testcase_07 WA -
testcase_08 WA -
testcase_09 WA -
testcase_10 WA -
testcase_11 WA -
testcase_12 WA -
権限があれば一括ダウンロードができます

ソースコード

diff #

#define _GLIBCXX_DEBUG
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
#define rep(i,a,b) for(int i=a;i<b;i++)
using vi = vector<int>; // intの1次元の型に vi という別名をつける
using vvi = vector<vi>; // intの2次元の型に vvi という別名をつける
using si =vector<char>;
using ssi =vector<si>;
//using mint = modint998244353;
const long long INF = 1e18;
//bit全探索 rep(i,0,1<<(n-1)){rep(j,0,n-1)if(I&(1<<j))}
//int a = s[0] - ‘0’;文字列から数字
//int a=atoi(s.c_str());
//“ABCDEFGHIJKLMNOPQRSTUVWXYZ"

//printf("%.9f\n", ans);
int main() { int n;
cin>>n;
int ans=0;
vi vec;
for(int i=0;i*i*3<=n;i++){
	for(int j=i;j*j<=n-2*i*i;j++){
		if(i+j==0)continue;
	int z=(n-i*j)/(i+j);
	if((n-i*j)%(i+j)!=0)continue;
	else {ans++;
		if(i<j&&j<z){vec.push_back(i);vec.push_back(j);vec.push_back(z);vec.push_back(i);vec.push_back(z);vec.push_back(j);vec.push_back(j);vec.push_back(i);vec.push_back(z);vec.push_back(j);vec.push_back(z);vec.push_back(i);vec.push_back(z);vec.push_back(i);vec.push_back(j);vec.push_back(z);vec.push_back(j);vec.push_back(i);}
	//	cout<<i<<j<<z<<endl<<i<<z<<j<<endl<<j<<i<<z<<endl<<j<<z<<i<<endl<<z<<i<<j<<endl<<z<<j<<i<<endl;
			else if(i==j&&j<z){vec.push_back(i);vec.push_back(i);vec.push_back(z);vec.push_back(i);vec.push_back(z);vec.push_back(i);vec.push_back(z);vec.push_back(i);vec.push_back(i);}
			//cout<<i<<i<<z<<endl<<i<<z<<i<<endl<<z<<i<<i<<endl;
			else if(i<j&&j==z){vec.push_back(i);vec.push_back(j);vec.push_back(j);vec.push_back(j);vec.push_back(i);vec.push_back(j);vec.push_back(j);vec.push_back(j);vec.push_back(i);}
			//cout<<i<<j<<j<<endl<<j<<i<<j<<endl<<i<<j<<j<<endl;
			else vec.push_back(i);vec.push_back(i);vec.push_back(i);
			//cout<<i<<i<<i<<endl;
		
	}
	}
}

cout<<ans<<endl;
rep(i,0,ans){
	cout<<vec[3*i]<<" "<<vec[3*i]<<" "<<vec[3*i+2]<<endl;
	
}
}
0