http://acm.timus.ru/problem.aspx?space=1&num=1149
類比,不解釋。
#include <vector>#include <list>#include <map>#include <set>#include <queue>#include <string.h>#include <deque>#include <stack>#include <bitset>#include <algorithm>#include <functional>#include <numeric>#include <utility>#include <sstream>#include <iostream>#include <iomanip>#include <cstdio>#include <cmath>#include <cstdlib>#include <limits.h>using namespace std;int lowbit(int t){return t&(-t);}int countbit(int t){return (t==0)?0:(1+countbit(t&(t-1)));}int gcd(int a,int b){return (b==0)?a:gcd(b,a%b);}int max(int a,int b){return a>b?a:b;}int min(int a,int b){return a>b?b:a;}#define LL long long#define PI acos(-1.0)#define N 1000000#define INF INT_MAX#define eps 1e-8#define FRE freopen("a.txt","r",stdin)void work(int n){ int i,j; for(i=1;i<=n;i++) { printf("sin"); printf("("); if(i==n) { printf("%d",i); break; }printf("%d",i); if(i&1)printf("-"); else printf("+"); } for(i=1;i<=n;i++) printf(")");}int main(){ int n; while(scanf("%d",&n)!=EOF) { int i,j; for(i=1;i<=n-1;i++) printf("("); j=0; for(i=n;i>=2;i--) { j++; work(j); printf("+"); printf("%d",i); printf(")"); } work(n); printf("+1\n"); } return 0;}