HDU-6396 Swordsman nlogn模拟?暴力?

 

慢走 

不送

写的真滴捞!!!

留下做纪念

 

按照每个魔法类型,分别用不同的数组保存并排序,根据当前各类型魔法值选择相应的合法的魔法类型标记

这是On复杂度,前面排序需要O(nlogn)复杂度

 

#include <iostream>
#include <algorithm>
#include <cstdio>
#include <cstring>
#include <queue>
#include <vector>
#include <set>
#include <cmath>
using namespace std;
const int maxn = 1e5 + 7;


namespace fastIO {
#define BUF_SIZE 100000
#define OUT_SIZE 100000
#define ll long long
//fread->read
bool IOerror=0;
inline char nc() {
    static char buf[BUF_SIZE],*p1=buf+BUF_SIZE,*pend=buf+BUF_SIZE;
    if (p1==pend) {
        p1=buf;
        pend=buf+fread(buf,1,BUF_SIZE,stdin);
        if (pend==p1) {
            IOerror=1;
            return -1;
        }
        //{printf("IO error!\n");system("pause");for (;;);exit(0);}
    }
    return *p1++;
}
inline bool blank(char ch) {
    return ch==' '||ch=='\n'||ch=='\r'||ch=='\t';
}
inline void read(int &x) {
    bool sign=0;
    char ch=nc();
    x=0;
    for (; blank(ch); ch=nc());
    if (IOerror)
        return;
    if (ch=='-')
        sign=1,ch=nc();
    for (; ch>='0'&&ch<='9'; ch=nc())
        x=x*10+ch-'0';
    if (sign)
        x=-x;
}
inline void read(ll &x) {
    bool sign=0;
    char ch=nc();
    x=0;
    for (; blank(ch); ch=nc());
    if (IOerror)
        return;
    if (ch=='-')
        sign=1,ch=nc();
    for (; ch>='0'&&ch<='9'; ch=nc())
        x=x*10+ch-'0';
    if (sign)
        x=-x;
}
inline void read(double &x) {
    bool sign=0;
    char ch=nc();
    x=0;
    for (; blank(ch); ch=nc());
    if (IOerror)
        return;
    if (ch=='-')
        sign=1,ch=nc();
    for (; ch>='0'&&ch<='9'; ch=nc())
        x=x*10+ch-'0';
    if (ch=='.') {
        double tmp=1;
        ch=nc();
        for (; ch>='0'&&ch<='9'; ch=nc())
            tmp/=10.0,x+=tmp*(ch-'0');
    }
    if (sign)
        x=-x;
}
inline void read(char *s) {
    char ch=nc();
    for (; blank(ch); ch=nc());
    if (IOerror)
        return;
    for (; !blank(ch)&&!IOerror; ch=nc())
        *s++=ch;
    *s=0;
}
inline void read(char &c) {
    for (c=nc(); blank(c); c=nc());
    if (IOerror) {
        c=-1;
        return;
    }
}
//getchar->read
inline void read1(int &x) {
    char ch;
    int bo=0;
    x=0;
    for (ch=getchar(); ch<'0'||ch>'9'; ch=getchar())
        if (ch=='-')
            bo=1;
    for (; ch>='0'&&ch<='9'; x=x*10+ch-'0',ch=getchar());
    if (bo)
        x=-x;
}
inline void read1(ll &x) {
    char ch;
    int bo=0;
    x=0;
    for (ch=getchar(); ch<'0'||ch>'9'; ch=getchar())
        if (ch=='-')
            bo=1;
    for (; ch>='0'&&ch<='9'; x=x*10+ch-'0',ch=getchar());
    if (bo)
        x=-x;
}
inline void read1(double &x) {
    char ch;
    int bo=0;
    x=0;
    for (ch=getchar(); ch<'0'||ch>'9'; ch=getchar())
        if (ch=='-')
            bo=1;
    for (; ch>='0'&&ch<='9'; x=x*10+ch-'0',ch=getchar());
    if (ch=='.') {
        double tmp=1;
        for (ch=getchar(); ch>='0'&&ch<='9'; tmp/=10.0,x+=tmp*(ch-'0'),ch=getchar());
    }
    if (bo)
        x=-x;
}
inline void read1(char *s) {
    char ch=getchar();
    for (; blank(ch); ch=getchar());
    for (; !blank(ch); ch=getchar())
        *s++=ch;
    *s=0;
}
inline void read1(char &c) {
    for (c=getchar(); blank(c); c=getchar())
        ;
}
//scanf->read
inline void read2(int &x) {
    scanf("%d",&x);
}
inline void read2(ll &x) {
#ifdef _WIN32
    scanf("%I64d",&x);
#else
#ifdef __linux
    scanf("%lld",&x);
#else
    puts("error:can't recognize the system!");
#endif
#endif
}
inline void read2(double &x) {
    scanf("%lf",&x);
}
inline void read2(char *s) {
    scanf("%s",s);
}
inline void read2(char &c) {
    scanf(" %c",&c);
}
inline void readln2(char *s) {
    gets(s);
}
//fwrite->write
struct Ostream_fwrite {
    char *buf,*p1,*pend;
    Ostream_fwrite() {
        buf=new char[BUF_SIZE];
        p1=buf;
        pend=buf+BUF_SIZE;
    }
    void out(char ch) {
        if (p1==pend) {
            fwrite(buf,1,BUF_SIZE,stdout);
            p1=buf;
        }
        *p1++=ch;
    }
    void print(int x) {
        static char s[15],*s1;
        s1=s;
        if (!x)
            *s1++='0';
        if (x<0)
            out('-'),x=-x;
        while(x)
            *s1++=x%10+'0',x/=10;
        while(s1--!=s)
            out(*s1);
    }
    void println(int x) {
        static char s[15],*s1;
        s1=s;
        if (!x)
            *s1++='0';
        if (x<0)
            out('-'),x=-x;
        while(x)
            *s1++=x%10+'0',x/=10;
        while(s1--!=s)
            out(*s1);
        out('\n');
    }
    void print(ll x) {
        static char s[25],*s1;
        s1=s;
        if (!x)
            *s1++='0';
        if (x<0)
            out('-'),x=-x;
        while(x)
            *s1++=x%10+'0',x/=10;
        while(s1--!=s)
            out(*s1);
    }
    void println(ll x) {
        static char s[25],*s1;
        s1=s;
        if (!x)
            *s1++='0';
        if (x<0)
            out('-'),x=-x;
        while(x)
            *s1++=x%10+'0',x/=10;
        while(s1--!=s)
            out(*s1);
        out('\n');
    }
    void print(double x,int y) {
        static ll mul[]= {1,10,100,1000,10000,100000,1000000,10000000,100000000,
                          1000000000,10000000000LL,100000000000LL,1000000000000LL,10000000000000LL,
                          100000000000000LL,1000000000000000LL,10000000000000000LL,100000000000000000LL
                         };
        if (x<-1e-12)
            out('-'),x=-x;
        x*=mul[y];
        ll x1=(ll)floor(x);
        if (x-floor(x)>=0.5)
            ++x1;
        ll x2=x1/mul[y],x3=x1-x2*mul[y];
        print(x2);
        if (y>0) {
            out('.');
            for (size_t i=1; i<y&&x3*mul[i]<mul[y]; out('0'),++i)
                ;
            print(x3);
        }
    }
    void println(double x,int y) {
        print(x,y);
        out('\n');
    }
    void print(char *s) {
        while (*s)
            out(*s++);
    }
    void println(char *s) {
        while (*s)
            out(*s++);
        out('\n');
    }
    void flush() {
        if (p1!=buf) {
            fwrite(buf,1,p1-buf,stdout);
            p1=buf;
        }
    }
    ~Ostream_fwrite() {
        flush();
    }
} Ostream;
inline void print(int x) {
    Ostream.print(x);
}
inline void println(int x) {
    Ostream.println(x);
}
inline void print(char x) {
    Ostream.out(x);
}
inline void println(char x) {
    Ostream.out(x);
    Ostream.out('\n');
}
inline void print(ll x) {
    Ostream.print(x);
}
inline void println(ll x) {
    Ostream.println(x);
}
inline void print(double x,int y) {
    Ostream.print(x,y);
}
inline void println(double x,int y) {
    Ostream.println(x,y);
}
inline void print(char *s) {
    Ostream.print(s);
}
inline void println(char *s) {
    Ostream.println(s);
}
inline void println() {
    Ostream.out('\n');
}
inline void flush() {
    Ostream.flush();
}
//puts->write
char Out[OUT_SIZE],*o=Out;
inline void print1(int x) {
    static char buf[15];
    char *p1=buf;
    if (!x)
        *p1++='0';
    if (x<0)
        *o++='-',x=-x;
    while(x)
        *p1++=x%10+'0',x/=10;
    while(p1--!=buf)
        *o++=*p1;
}
inline void println1(int x) {
    print1(x);
    *o++='\n';
}
inline void print1(ll x) {
    static char buf[25];
    char *p1=buf;
    if (!x)
        *p1++='0';
    if (x<0)
        *o++='-',x=-x;
    while(x)
        *p1++=x%10+'0',x/=10;
    while(p1--!=buf)
        *o++=*p1;
}
inline void println1(ll x) {
    print1(x);
    *o++='\n';
}
inline void print1(char c) {
    *o++=c;
}
inline void println1(char c) {
    *o++=c;
    *o++='\n';
}
inline void print1(char *s) {
    while (*s)
        *o++=*s++;
}
inline void println1(char *s) {
    print1(s);
    *o++='\n';
}
inline void println1() {
    *o++='\n';
}
inline void flush1() {
    if (o!=Out) {
        if (*(o-1)=='\n')
            *--o=0;
        puts(Out);
    }
}
struct puts_write {
    ~puts_write() {
        flush1();
    }
} _puts;
inline void print2(int x) {
    printf("%d",x);
}
inline void println2(int x) {
    printf("%d\n",x);
}
inline void print2(char x) {
    printf("%c",x);
}
inline void println2(char x) {
    printf("%c\n",x);
}
inline void print2(ll x) {
#ifdef _WIN32
    printf("%I64d",x);
#else
#ifdef __linux
    printf("%lld",x);
#else
    puts("error:can't recognize the system!");
#endif
#endif
}
inline void println2(ll x) {
    print2(x);
    printf("\n");
}
inline void println2() {
    printf("\n");
}
#undef ll
#undef OUT_SIZE
#undef BUF_SIZE
};
using namespace fastIO;

/*--------------------------  超神读入挂  -------------------------------*/



//inline bool read(int &num)
//{
//        char in;bool IsN=false;
//        in=getchar();
//        if(in==EOF) return false;
//        while(in!='-'&&(in<'0'||in>'9')) in=getchar();
//        if(in=='-'){ IsN=true;num=0;}
//        else num=in-'0';
//        while(in=getchar(),in>='0'&&in<='9'){
//                num*=10,num+=in-'0';
//        }
//        if(IsN) num=-num;
//        return true;
//}

int T, n, k_;
int vis[maxn];
int kk[5];

//inline void read(int &x) {
//  char ch = getchar();
//  x = 0;
//  for (; ch < '0' || ch > '9'; ch = getchar());
//  for (; ch >='0' && ch <= '9'; ch = getchar()) x = x * 10 + ch - '0';
//}
//inline void print(int x) {
//  if(x > 9) {
//    print(x/10);
//  }
//  putchar(x%10+'0');
//}

struct node {
  int id;
  int a, b, c, d, e;
  int a_, b_, c_, d_, e_;
} a[maxn], b[maxn], c[maxn], d[maxn], e[maxn], f[maxn];

bool cmp1(node a, node b) {
  return (a.a < b.a);
}
bool cmp2(node a, node b) {
  return (a.b < b.b);
}
bool cmp3(node a, node b) {
  return (a.c < b.c);
}
bool cmp4(node a, node b) {
  return (a.d < b.d);
}
bool cmp5(node a, node b) {
  return (a.e < b.e);
}

void init1() {
  int t;
  for(int i = 1; i <= n; ++i) {
    a[i].id = b[i].id = i;

    read(t);
    a[i].a = b[i].a = t;

    read(t);
    a[i].a_ = b[i].a_ = t;
  }
  sort(b+1,b+1+n,cmp1);

  int i = 1, cnt = 0;
  queue<int> qu;
  memset(vis, 0, sizeof vis);

  while(1) {
    for( ; i <= n; ++i) {
      if(b[i].a <= kk[1]) {
        vis[b[i].id]++;
        if(vis[b[i].id] == 1) {
          qu.push(b[i].id);
        }
      }
      else break;
    }
    if(qu.empty()) break;
    else {
      while(!qu.empty()) {
        cnt++;
        int idd = qu.front(); qu.pop();
        kk[1] += a[idd].a_;
      }
    }
  }
  //for(int i = 1; i <= k; ++i) {
//    print(cnt);
//    puts("");
//    print(kk[1]);
    printf("%d\n%d\n", cnt, kk[1]);
  //}
}

void init2() {
  int t;
  for(int i = 1; i <= n; ++i) {
    a[i].id = b[i].id = c[i].id = i;

    read(t);
    a[i].a = b[i].a = c[i].a = t;
    read(t);
    a[i].b = b[i].b = c[i].b = t;


    read(t);
    a[i].a_ = b[i].a_ = c[i].a_ = t;
    read(t);
    a[i].b_ = b[i].b_ = c[i].b_ = t;
  }
  sort(b+1,b+1+n,cmp1);
  sort(c+1,c+1+n,cmp2);

  int i = 1, j = 1, cnt = 0;
  queue<int> qu;
  memset(vis, 0, sizeof vis);

  while(1) {
    for( ; i <= n; ++i) {
      if(b[i].a <= kk[1]) {
        vis[b[i].id]++;
        if(vis[b[i].id] == 2) {
          qu.push(b[i].id);
        }
      }
      else break;
    }
    for( ; j <= n; ++j) {
      if(c[j].b <= kk[2]) {
        vis[c[j].id]++;
        if(vis[c[j].id] == 2) {
          qu.push(c[j].id);
        }
      }
      else break;
    }


    if(qu.empty()) break;
    else {
      while(!qu.empty()) {
          cnt++;
        int idd = qu.front(); qu.pop();
        kk[1] += a[idd].a_;
        kk[2] += a[idd].b_;
      }
    }



  }
  //for(int i = 1; i <= k; ++i) {
//    print(cnt);
//    puts("");
//    print(kk[1]);
//    putchar(' '); print(kk[2]);


    printf("%d\n%d %d\n", cnt, kk[1], kk[2]);
  //}
}

void init3() {
  int t;
  for(int i = 1; i <= n; ++i) {
    a[i].id = b[i].id = c[i].id = d[i].id = i;

    read(t);
    //cin >> t;
    a[i].a = b[i].a = c[i].a = d[i].a = t;
    read(t);
    //cin >> t;
    a[i].b = b[i].b = c[i].b = d[i].b = t;
    read(t);
    //cin >> t;
    a[i].c = b[i].c = c[i].c = d[i].c = t;


    read(t);
    //cin >> t;
    a[i].a_ = b[i].a_ = c[i].a_ = d[i].a_ = t;
    read(t);
    //cin >> t;
    a[i].b_ = b[i].b_ = c[i].b_ = d[i].b_ = t;
    read(t);
    //cin >> t;
    a[i].c_ = b[i].c_ = c[i].c_ = d[i].c_ = t;
  }
  sort(b+1,b+1+n,cmp1);
  sort(c+1,c+1+n,cmp2);
  sort(d+1,d+1+n,cmp3);

  int i = 1, j = 1, k = 1, cnt = 0;
  queue<int> qu;
  memset(vis, 0, sizeof vis);

  while(1) {
    for( ; i <= n; ++i) {
        //cout << i << " iiii " << endl;
      if(b[i].a <= kk[1]) {
        vis[b[i].id]++;
        if(vis[b[i].id] == 3) {
          qu.push(b[i].id);
        }
      }
      else break;
    }
    for( ; j <= n; ++j) {
      //cout << j << " jjjj " << endl;
      if(c[j].b <= kk[2]) {
        vis[c[j].id]++;
        if(vis[c[j].id] == 3) {
          qu.push(c[j].id);
        }
      }
      else break;
    }
    for( ; k <= n; ++k) {
      //cout << k << " kkkk " << endl;
      if(d[k].c <= kk[3]) {
        vis[d[k].id]++;
        if(vis[d[k].id] == 3) {
          qu.push(d[k].id);
        }
      }
      else break;
    }


    if(qu.empty()) break;
    else {
      while(!qu.empty()) {
        cnt++;
        int idd = qu.front(); qu.pop();
      //cout << idd << "  idddd " << endl;
        kk[1] += a[idd].a_;
        kk[2] += a[idd].b_;
        kk[3] += a[idd].c_;
      }
    }



  }
  //for(int i = 1; i <= k; ++i) {
//    print(cnt);
//    puts("");
//    print(kk[1]);
//    putchar(' '); print(kk[2]);
//    putchar(' '); print(kk[3]);
    printf("%d\n%d %d %d\n", cnt, kk[1], kk[2], kk[3]);
  //}
}


void init4() {
  int t;
  for(int i = 1; i <= n; ++i) {
    a[i].id = b[i].id = c[i].id = d[i].id = e[i].id = i;

    read(t);
    a[i].a = b[i].a = c[i].a = d[i].a = e[i].a = t;
    read(t);
    a[i].b = b[i].b = c[i].b = d[i].b = e[i].b = t;
    read(t);
    a[i].c = b[i].c = c[i].c = d[i].c = e[i].c = t;
    read(t);
    a[i].d = b[i].d = c[i].d = d[i].d = e[i].d = t;

    read(t);
    a[i].a_ = b[i].a_ = c[i].a_ = d[i].a_ = e[i].a_ = t;
    read(t);
    a[i].b_ = b[i].b_ = c[i].b_ = d[i].b_ = e[i].b_ = t;
    read(t);
    a[i].c_ = b[i].c_ = c[i].c_ = d[i].c_ = e[i].c_ = t;
    read(t);
    a[i].d_ = b[i].d_ = c[i].d_ = d[i].d_ = e[i].d_ = t;
  }
  sort(b+1,b+1+n,cmp1);
  sort(c+1,c+1+n,cmp2);
  sort(d+1,d+1+n,cmp3);
  sort(e+1,e+1+n,cmp4);

  int i = 1, j = 1, k = 1, x = 1, cnt = 0;
  queue<int> qu;
  memset(vis, 0, sizeof vis);

  while(1) {
    for( ; i <= n; ++i) {
      if(b[i].a <= kk[1]) {
        vis[b[i].id]++;
        if(vis[b[i].id] == 4) {
          qu.push(b[i].id);
        }
      }
      else break;
    }
    for( ; j <= n; ++j) {
      if(c[j].b <= kk[2]) {
        vis[c[j].id]++;
        if(vis[c[j].id] == 4) {
          qu.push(c[j].id);
        }
      }
      else break;
    }
    for( ; k <= n; ++k) {
      if(d[k].c <= kk[3]) {
        vis[d[k].id]++;
        if(vis[d[k].id] == 4) {
          qu.push(d[k].id);
        }
      }
      else break;
    }
    for( ; x <= n; ++x) {
      if(e[x].d <= kk[4]) {
        vis[e[x].id]++;
        if(vis[e[x].id] == 4) {
          qu.push(e[x].id);
        }
      }
      else break;
    }


    if(qu.empty()) break;
    else {
      while(!qu.empty()) {
          cnt++;
        int idd = qu.front(); qu.pop();
        kk[1] += a[idd].a_;
        kk[2] += a[idd].b_;
        kk[3] += a[idd].c_;
        kk[4] += a[idd].d_;
      }
    }



  }
  //for(int i = 1; i <= k; ++i) {
//    print(cnt);
//    puts("");
//    print(kk[1]);
//    putchar(' '); print(kk[2]);
//    putchar(' '); print(kk[3]);
//    putchar(' '); print(kk[4]);
    printf("%d\n%d %d %d %d\n",cnt, kk[1], kk[2], kk[3], kk[4]);
  //}
}

void init5() {
  int t;
  for(int i = 1; i <= n; ++i) {
    a[i].id = b[i].id = c[i].id = d[i].id = e[i].id = f[i].id = i;

    read(t);
    a[i].a = b[i].a = c[i].a = d[i].a = e[i].a = f[i].a = t;
    read(t);
    a[i].b = b[i].b = c[i].b = d[i].b = e[i].b = f[i].b = t;
    read(t);
    a[i].c = b[i].c = c[i].c = d[i].c = e[i].c = f[i].c = t;
    read(t);
    a[i].d = b[i].d = c[i].d = d[i].d = e[i].d = f[i].d = t;
    read(t);
    a[i].e = b[i].e = c[i].e = d[i].e = e[i].e = f[i].e = t;

    read(t);
    a[i].a_ = b[i].a_ = c[i].a_ = d[i].a_ = e[i].a_ = f[i].a_ = t;
    read(t);
    a[i].b_ = b[i].b_ = c[i].b_ = d[i].b_ = e[i].b_ = f[i].b_ = t;
    read(t);
    a[i].c_ = b[i].c_ = c[i].c_ = d[i].c_ = e[i].c_ = f[i].c_ = t;
    read(t);
    a[i].d_ = b[i].d_ = c[i].d_ = d[i].d_ = e[i].d_ = f[i].d_ = t;
    read(t);
    a[i].e_ = b[i].e_ = c[i].e_ = d[i].e_ = e[i].e_ = f[i].e_ = t;
  }
  sort(b+1,b+1+n,cmp1);
  sort(c+1,c+1+n,cmp2);
  sort(d+1,d+1+n,cmp3);
  sort(e+1,e+1+n,cmp4);
  sort(f+1,f+1+n,cmp5);

  int i = 1, j = 1, k = 1, x = 1, y = 1, cnt = 0;
  queue<int> qu;
  memset(vis, 0, sizeof vis);

  while(1) {
    for( ; i <= n; ++i) {
      if(b[i].a <= kk[1]) {
        vis[b[i].id]++;
        if(vis[b[i].id] == 5) {
          qu.push(b[i].id);
        }
      }
      else break;
    }
    for( ; j <= n; ++j) {
      if(c[j].b <= kk[2]) {
        vis[c[j].id]++;
        if(vis[c[j].id] == 5) {
          qu.push(c[j].id);
        }
      }
      else break;
    }
    for( ; k <= n; ++k) {
      if(d[k].c <= kk[3]) {
        vis[d[k].id]++;
        if(vis[d[k].id] == 5) {
          qu.push(d[k].id);
        }
      }
      else break;
    }
    for( ; x <= n; ++x) {
      if(e[x].d <= kk[4]) {
        vis[e[x].id]++;
        if(vis[e[x].id] == 5) {
          qu.push(e[x].id);
        }
      }
      else break;
    }
    for( ; y <= n; ++y) {
      if(f[y].e <= kk[5]) {
        vis[f[y].id]++;
        if(vis[f[y].id] == 5) {
          qu.push(f[y].id);
        }
      }
      else break;
    }


    if(qu.empty()) break;
    else {
      while(!qu.empty()) {
          cnt++;
        int idd = qu.front(); qu.pop();
        kk[1] += a[idd].a_;
        kk[2] += a[idd].b_;
        kk[3] += a[idd].c_;
        kk[4] += a[idd].d_;
        kk[5] += a[idd].e_;
      }
    }



  }
  //for(int i = 1; i <= k; ++i) {
//    print(cnt);
//    puts("");
//    print(kk[1]);
//    putchar(' '); print(kk[2]);
//    putchar(' '); print(kk[3]);
//    putchar(' '); print(kk[4]);
//    putchar(' '); print(kk[5]);
    printf("%d\n%d %d %d %d %d\n",cnt, kk[1], kk[2], kk[3], kk[4], kk[5]);
  //}
}

int main() {
  //fread(Buf,1,BUF,stdin);


  //scanf("%d", &T);
  //cin >> T;

  read(T);//cout << 377777 << endl;
  while(T--) {
    //scanf("%d%d", &n, &k);
    read(n);
    read(k_);
    //cin >> n >> k_;
    for(int i = 1; i <= k_; ++i) {
      read(kk[i]);
      //cin >> kk[i];
      //scanf("%d", &kk[i]);
    }
    //cout << n << "===" << k_ << endl;
    if(k_ == 1) {
      init1();
    } else if(k_ == 2) {
      init2();
    } else if(k_ == 3) {
      init3();
    } else if(k_ == 4) {
      init4();
    } else if(k_ == 5) {
      init5();
    }
  }
//fwrite(Out,1,ou-Out,stdout);
  return 0;
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值