二次联通门 : LibreOJ #525. 「LibreOJ β Round #4」多项式

 

 

 

 

官方题解 :

 

 LibreOJ #525. 「LibreOJ β Round #4」多项式

  LibreOJ #525. 「LibreOJ β Round #4」多项式

  LibreOJ #525. 「LibreOJ β Round #4」多项式LibreOJ #525. 「LibreOJ β Round #4」多项式

 

 

/*
    LibreOJ #525. 「LibreOJ β Round #4」多项式

    由于会有多种解
    所以只需要找出一组特殊解即可

*/
#include <cstdio>
#include <iostream>

void read (int &now)
{
    register char c = getchar ();
    for (now = 0; !isdigit (c); c = getchar ());
    for (; isdigit (c); now = now * 10 + c - '0', c = getchar ());
}

int Main ()
{
    int N; read (N); register int i, j; int L = N;
    int phi = 1; if (N == 1) return printf ("-1"), 0;    
    for (i = 2; i * i <= L; ++ i)
        if (L % i == 0) 
        {
            L /= i, phi *= (i - 1);
            for (; L % i == 0; L /= i, phi *= i);
        }
    if (L != 1) phi *= L - 1;
     printf ("%d\n", L = phi << 1 | 1); ++ phi;
    for (i = 0; i < phi; ++ i) printf ("0 ");
    printf ("%d ", N - 1);
    for (++ i; i < L; ++ i) printf ("0 ");
    printf ("1");
    return 0;
}

int ZlycerQan = Main ();
int main (int argc, char *argv[]) {;}

 

 

相关文章:

  • 2022-01-03
  • 2021-08-25
  • 2021-06-22
  • 2021-09-14
  • 2022-12-23
  • 2021-08-29
猜你喜欢
  • 2022-02-10
  • 2022-12-23
  • 2021-10-16
  • 2021-11-13
  • 2021-06-05
  • 2021-07-05
  • 2022-01-19
相关资源
相似解决方案