結果
問題 | No.1125 Without Parallelogram |
ユーザー |
![]() |
提出日時 | 2020-07-22 21:42:04 |
言語 | C++11 (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 8 ms / 1,000 ms |
コード長 | 3,466 bytes |
コンパイル時間 | 701 ms |
コンパイル使用メモリ | 85,924 KB |
実行使用メモリ | 37,100 KB |
最終ジャッジ日時 | 2024-06-22 14:50:36 |
合計ジャッジ時間 | 4,264 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 28 |
コンパイルメッセージ
main.cpp: In function ‘int main()’: main.cpp:116:20: warning: ignoring return value of ‘int scanf(const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 116 | int a;scanf("%d",&a); | ~~~~~^~~~~~~~~
ソースコード
// #pragma GCC target("avx") // CPU 処理並列化// #pragma GCC optimize("O3") // CPU 処理並列化// #pragma GCC optimize("unroll-loops") // 条件処理の呼び出しを減らす// #define BEGIN_STACK_EXTEND(size) void * stack_extend_memory_ = malloc(size);void * stack_extend_origin_memory_;char * stack_extend_dummy_memory_ =(char*)alloca((1+(int)(((long long)stack_extend_memory_)&127))*16);*stack_extend_dummy_memory_ = 0;asm volatile("mov %%rsp, %%rbx\nmov %%rax,%%rsp":"=b"(stack_extend_origin_memory_):"a"((char*)stack_extend_memory_+(size)-1024));// #define END_STACK_EXTEND asm volatile("mov %%rax, %%rsp"::"a"(stack_extend_origin_memory_));free(stack_extend_memory_);#include<stdio.h>#include<math.h>#include<algorithm>#include<queue>#include<deque>#include<stack>#include<string>#include<string.h>#include<vector>#include<set>#include<map>#include<bitset>#include<stdlib.h>#include<cassert>#include<time.h>#include<bitset>#include<numeric>#include<unordered_set>#include<unordered_map>#include<complex>using namespace std;const long long mod=1000000007;const long long inf=mod*mod;const long long d2=(mod+1)/2;const double EPS=1e-11;const double INF=1e+10;const double PI=acos(-1.0);const int C_SIZE = 11100000;const int UF_SIZE = 3100000;namespace{long long fact[C_SIZE];long long finv[C_SIZE];long long inv[C_SIZE];inline long long Comb(int a,int b){if(a<b||b<0)return 0;return fact[a]*finv[b]%mod*finv[a-b]%mod;}void init_C(int n){fact[0]=finv[0]=inv[1]=1;for(int i=2;i<n;i++){inv[i]=(mod-(mod/i)*inv[mod%i]%mod)%mod;}for(int i=1;i<n;i++){fact[i]=fact[i-1]*i%mod;finv[i]=finv[i-1]*inv[i]%mod;}}long long pw(long long a,long long b){if(a<0LL)return 0;if(b<0LL)return 0;long long ret=1;while(b){if(b%2)ret=ret*a%mod;a=a*a%mod;b/=2;}return ret;}long long pw_mod(long long a,long long b,long long M){if(a<0LL)return 0;if(b<0LL)return 0;long long ret=1;while(b){if(b%2)ret=ret*a%M;a=a*a%M;b/=2;}return ret;}int pw_mod_int(int a,int b,int M){if(a<0)return 0;if(b<0)return 0;int ret=1;while(b){if(b%2)ret=(long long)ret*a%M;a=(long long)a*a%M;b/=2;}return ret;}int ABS(int a){return max(a,-a);}long long ABS(long long a){return max(a,-a);}double ABS(double a){return max(a,-a);}int sig(double r) { return (r < -EPS) ? -1 : (r > +EPS) ? +1 : 0; }int UF[UF_SIZE];void init_UF(int n){for(int i=0;i<n;i++)UF[i]=-1;}int FIND(int a){if(UF[a]<0)return a;return UF[a]=FIND(UF[a]);}void UNION(int a,int b){a=FIND(a);b=FIND(b);if(a==b)return;if(UF[a]>UF[b])swap(a,b);UF[a]+=UF[b];UF[b]=a;}}// ここから編集しろint pr(int a){for(int i=2;i*i<=a;i++){if(a%i==0)return 0;}return 1;}int X[3100];int Y[3100];int f[3100][3100];int main(){int a;scanf("%d",&a);int n=a;while(pr(n)==0){n++;}int t=0;for(int i=0;i<a;i++){X[i]=i;Y[i]=t;t+=i+1;t%=n;f[X[i]][Y[i]]=1;}// for(int i=0;i<a;i++){// for(int j=0;j<a;j++){// if(i==j)continue;// for(int k=0;k<a;k++){// if(i==k)continue;// if(j==k)continue;// int x=(X[j]+X[k]-X[i]);// int y=(Y[j]+Y[k]-Y[i]);// if(x<0||y<0||x>=3100||y>=3100)continue;// if(f[x][y]){// printf("NG: %d %d %d\n",i,j,k);return 0;// }// }// }// }for(int i=0;i<a;i++){printf("%d %d\n",X[i],Y[i]);}}