[CF593C](Beautiful Function)

  • 题意

    自己查

  • solution

提交一个WA的代码(233)骗到CF的第一个input和output

然后发现标准输出怎么这么奇怪

仔细研究,我们提取出一个共同的单元

a*((1-abs(t-k))+(abs(abs(t-k)-1)))

其中t即为自变量

a,k为系数

手模一下发现只有t=k时该式等于2a,否则等于0(证明略)

(好东西!

那么这题就简单了对于每一个需要构造的x坐标,

加一个这样的单元(a=x/2,k=1...n)即可

  • code


#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>
#include<cmath>
using namespace std;
int n;
void solve(int *x){
  for(int i=1;i<n;i++)putchar('(');
  for(int i=0;i<n;i++){
    if(i>=1)putchar('+');
        printf("(%d*((1-abs((t-%d)))+abs((abs((t-%d))-1))))",x[i]/2,i,i);
    if(i>=1)putchar(')');
  }
}
int x[555],y[555],baka;
int main(){
 scanf("%d",&n);
 for(int i=0;i<n;i++)scanf("%d%d%d",&x[i],&y[i],&baka);
 solve(x);
 cout<<endl;
 solve(y);
}
上一篇:抓老鼠啊~亏了还是赚了?


下一篇:【LOJ】#3092. 「BJOI2019」排兵布阵