暑假作业

HDU1219

 计数

 1 //C:\ZXYACMProblems\HDU
 2 #include <bits/stdc++.h>
 3 #include<stdint.h>
 4 typedef long long ll;
 5 #define int long long
 6 #define scan(n) scanf("%lld", &(n))
 7 #define scann(n, m) scanf("%lld%lld", &(n), &(m))
 8 #define scannn(a, b, c) scanf("%lld%lld%lld", &(a), &(b), &(c))
 9 #define prin(n) printf('%lld', (n))
10 #define pb push_back
11 #define mp make_pair
12 #define ms(a) memset(a, 0, sizeof(a))
13 #define fo(i, a, b) for (int i = (a); i <= (b); i++)
14 #define ro(i, a, b) for (int i = (a); i >= (b); i--)
15 const int inf = 0x3f3f3f3f;
16 using namespace std;
17 const int maxn = 2e5+100;
18 
19 int a[500];
20 int32_t main() {
21     char s[maxn];
22     while(gets(s)){
23         int n=strlen(s);
24 
25         fo(i,0,30)a[i]=0;
26         fo(i,0,n-1){
27             if(s[i]<='z'&&s[i]>='a')
28             a[s[i]-'a']++;
29         }
30         char x='a';
31         fo(i,0,25){
32             cout<<x<<":"<<a[i]<<endl;
33             x++;
34         }
35         printf("\n");
36     }
37     return 0;
38 }

 

 

 

HDU1220

I LOVE 
Concrete Mathematics

1 #include<bits/stdc++.h>
2 using namespace std;
3 int main(){
4     int n;
5     while(cin>>n){
6         long long t=n*n*n*(n*n*n-1)/2-3*n*(n-1)*(n);
7         cout<<t<<endl;
8     }
9 } 

 HDU1221

从未见过如此厚颜无耻的几何题,嘤嘤嘤

 1 //C:\ZXYACMProblems\HDU
 2 #include <bits/stdc++.h>
 3 #include<stdint.h>
 4 #define int long long
 5 using namespace std;
 6 double x,y,r,xl,yl,xr,yr;
 7 double dis(int xx,int yy){return ((x-xx)*(x-xx)+(y-yy)*(y-yy));}
 8 bool yes(){
 9     if(dis(xl,yl)<=r*r||dis(xl,yr)<=r*r||dis(xr,yr)<=r*r||dis(xr,yl)<=r*r)return true;
10     if(x<=xr&&x>=xl&&((abs(y-yl)<=r)||(abs(y-yr)<=r)))return true;
11     if(y<=yr&&y>=yl&&((abs(x-xl)<=r)||(abs(x-xr)<=r)))return true;
12     return false;
13 }
14 bool inner(){
15     if(dis(xl,yl)<r*r&&dis(xl,yr)<r*r&&dis(xr,yr)<r*r&&dis(xr,yl)<r*r)return true;
16     return false;
17 }
18 int32_t main() {
19     int n;cin>>n;
20     while(n--){
21         cin>>x>>y>>r>>xl>>yl>>xr>>yr;
22         if(xl>xr)swap(xl,xr);if(yl>yr)swap(yl,yr);
23 
24         if(inner())printf("NO\n");
25         else if(yes())printf("YES\n");
26         else printf("NO\n");
27 
28     }
29     return 0;
30 }

 

HDU1222

NO TAG because................

 1 //C:\ZXYACMProblems\HDU
 2 #include <bits/stdc++.h>
 3 #include<stdint.h>
 4 #define int long long
 5 #define scan(n) scanf("%lld", &(n))
 6 const int inf = 0x3f3f3f3f;
 7 using namespace std;
 8 const int maxn = 2e5+100;
 9 
10 
11 int32_t main() {
12     int q;scan(q);
13     while(q--){
14         int n,m;
15         scan(m),scan(n);
16         if(__gcd(m,n)==1)cout<<"NO\n";
17         else cout<<"YES\n";
18     }
19     return 0;
20 }

 

HDU1223

突如其来的大数模板

唱跳rap篮球+CV

  1 #include <bits/stdc++.h>
  2 #include<stdint.h>
  3 #define int long long
  4 #define scan(n) scanf("%lld", &(n))
  5 #define scann(n, m) scanf("%lld%lld", &(n), &(m))
  6 #define scannn(a, b, c) scanf("%lld%lld%lld", &(a), &(b), &(c))
  7 #define fo(i,a,b) for(int i=(a);i<=(b);i++)
  8 const int inf = 0x3f3f3f3f;
  9 using namespace std;
 10 #define MAXN 9999
 11 #define MAXSIZE 10
 12 #define DLEN 4
 13 class BigNum{ 
 14 private: 
 15     int a[500];    
 16     int len;       
 17     public: 
 18     BigNum(){ len = 1;memset(a,0,sizeof(a)); }   
 19     BigNum(const int);     
 20     BigNum(const char*);     
 21     BigNum(const BigNum &);  
 22     BigNum &operator=(const BigNum &);   
 23 
 24     friend istream& operator>>(istream&,  BigNum&);   
 25     friend ostream& operator<<(ostream&,  BigNum&);   
 26 
 27     BigNum operator+(const BigNum &) const;  
 28     BigNum operator-(const BigNum &) const;   
 29     BigNum operator*(const BigNum &) const;   
 30     BigNum operator/(const int   &) const;   
 31 
 32     BigNum operator^(const int  &) const;    
 33     int    operator%(const int  &) const;    
 34     bool   operator>(const BigNum & T)const;   
 35     bool   operator>(const int & t)const;      
 36 
 37     void print();       
 38 }; 
 39 BigNum::BigNum(const int b)     
 40 { 
 41     int c,d = b;
 42     len = 0;
 43     memset(a,0,sizeof(a));
 44     while(d > MAXN)
 45     {
 46         c = d - (d / (MAXN + 1)) * (MAXN + 1); 
 47         d = d / (MAXN + 1);
 48         a[len++] = c;
 49     }
 50     a[len++] = d;
 51 }
 52 BigNum::BigNum(const char*s)     
 53 {
 54     int t,k,index,l,i;
 55     memset(a,0,sizeof(a));
 56     l=strlen(s);   
 57     len=l/DLEN;
 58     if(l%DLEN)
 59         len++;
 60     index=0;
 61     for(i=l-1;i>=0;i-=DLEN)
 62     {
 63         t=0;
 64         k=i-DLEN+1;
 65         if(k<0)
 66             k=0;
 67         for(int j=k;j<=i;j++)
 68             t=t*10+s[j]-'0';
 69         a[index++]=t;
 70     }
 71 }
 72 BigNum::BigNum(const BigNum & T) : len(T.len) 
 73 { 
 74     int i; 
 75     memset(a,0,sizeof(a)); 
 76     for(i = 0 ; i < len ; i++)
 77         a[i] = T.a[i]; 
 78 } 
 79 BigNum & BigNum::operator=(const BigNum & n)  
 80 {
 81     int i;
 82     len = n.len;
 83     memset(a,0,sizeof(a)); 
 84     for(i = 0 ; i < len ; i++) 
 85         a[i] = n.a[i]; 
 86     return *this; 
 87 }
 88 istream& operator>>(istream & in,  BigNum & b)  
 89 {
 90     char ch[MAXSIZE*4];
 91     int i = -1;
 92     in>>ch;
 93     int l=strlen(ch);
 94     int count=0,sum=0;
 95     for(i=l-1;i>=0;)
 96     {
 97         sum = 0;
 98         int t=1;
 99         for(int j=0;j<4&&i>=0;j++,i--,t*=10)
100         {
101             sum+=(ch[i]-'0')*t;
102         }
103         b.a[count]=sum;
104         count++;
105     }
106     b.len =count++;
107     return in;
108 
109 }
110 ostream& operator<<(ostream& out,  BigNum& b)  
111 {
112     int i;  
113     cout << b.a[b.len - 1]; 
114     for(i = b.len - 2 ; i >= 0 ; i--)
115     { 
116         cout.width(DLEN); 
117         cout.fill('0'); 
118         cout << b.a[i]; 
119     } 
120     return out;
121 }
122 
123 BigNum BigNum::operator+(const BigNum & T) const  
124 {
125     BigNum t(*this);
126     int i,big;      
127     big = T.len > len ? T.len : len; 
128     for(i = 0 ; i < big ; i++) 
129     { 
130         t.a[i] +=T.a[i]; 
131         if(t.a[i] > MAXN) 
132         { 
133             t.a[i + 1]++; 
134             t.a[i] -=MAXN+1; 
135         } 
136     } 
137     if(t.a[big] != 0)
138         t.len = big + 1; 
139     else
140         t.len = big;   
141     return t;
142 }
143 BigNum BigNum::operator-(const BigNum & T) const 
144 {  
145     int i,j,big;
146     bool flag;
147     BigNum t1,t2;
148     if(*this>T)
149     {
150         t1=*this;
151         t2=T;
152         flag=0;
153     }
154     else
155     {
156         t1=T;
157         t2=*this;
158         flag=1;
159     }
160     big=t1.len;
161     for(i = 0 ; i < big ; i++)
162     {
163         if(t1.a[i] < t2.a[i])
164         { 
165             j = i + 1; 
166             while(t1.a[j] == 0)
167                 j++; 
168             t1.a[j--]--; 
169             while(j > i)
170                 t1.a[j--] += MAXN;
171             t1.a[i] += MAXN + 1 - t2.a[i]; 
172         } 
173         else
174             t1.a[i] -= t2.a[i];
175     }
176     t1.len = big;
177     while(t1.a[t1.len - 1] == 0 && t1.len > 1)
178     {
179         t1.len--; 
180         big--;
181     }
182     if(flag)
183         t1.a[big-1]=0-t1.a[big-1];
184     return t1; 
185 } 
186 
187 BigNum BigNum::operator*(const BigNum & T) const  
188 { 
189     BigNum ret; 
190     int i,j,up; 
191     int temp,temp1;   
192     for(i = 0 ; i < len ; i++)
193     { 
194         up = 0; 
195         for(j = 0 ; j < T.len ; j++)
196         { 
197             temp = a[i] * T.a[j] + ret.a[i + j] + up; 
198             if(temp > MAXN)
199             { 
200                 temp1 = temp - temp / (MAXN + 1) * (MAXN + 1); 
201                 up = temp / (MAXN + 1); 
202                 ret.a[i + j] = temp1; 
203             } 
204             else
205             { 
206                 up = 0; 
207                 ret.a[i + j] = temp; 
208             } 
209         } 
210         if(up != 0) 
211             ret.a[i + j] = up; 
212     } 
213     ret.len = i + j; 
214     while(ret.a[ret.len - 1] == 0 && ret.len > 1)
215         ret.len--; 
216     return ret; 
217 } 
218 BigNum BigNum::operator/(const int & b) const  
219 { 
220     BigNum ret; 
221     int i,down = 0;   
222     for(i = len - 1 ; i >= 0 ; i--)
223     { 
224         ret.a[i] = (a[i] + down * (MAXN + 1)) / b; 
225         down = a[i] + down * (MAXN + 1) - ret.a[i] * b; 
226     } 
227     ret.len = len; 
228     while(ret.a[ret.len - 1] == 0 && ret.len > 1)
229         ret.len--; 
230     return ret; 
231 }
232 int BigNum::operator %(const int & b) const    //大数对一个int类型的变量进行取模运算    
233 {
234     int i,d=0;
235     for (i = len-1; i>=0; i--)
236     {
237         d = ((d * (MAXN+1))% b + a[i])% b;  
238     }
239     return d;
240 }
241 BigNum BigNum::operator^(const int & n) const   
242 {
243     BigNum t,ret(1);
244     int i;
245     if(n<0)
246         exit(-1);
247     if(n==0)
248         return 1;
249     if(n==1)
250         return *this;
251     int m=n;
252     while(m>1)
253     {
254         t=*this;
255         for( i=1;i<<1<=m;i<<=1)
256         {
257             t=t*t;
258         }
259         m-=i;
260         ret=ret*t;
261         if(m==1)
262             ret=ret*(*this);
263     }
264     return ret;
265 }
266 bool BigNum::operator>(const BigNum & T) const   //大数和另一个大数的大小比较
267 { 
268     int ln; 
269     if(len > T.len)
270         return true; 
271     else if(len == T.len)
272     { 
273         ln = len - 1; 
274         while(a[ln] == T.a[ln] && ln >= 0)
275             ln--; 
276         if(ln >= 0 && a[ln] > T.a[ln])
277             return true; 
278         else
279             return false; 
280     } 
281     else
282         return false; 
283 }
284 bool BigNum::operator >(const int & t) const    
285 {
286     BigNum b(t);
287     return *this>b;
288 }
289 
290 void BigNum::print()    //输出大数
291 { 
292     int i;   
293     cout << a[len - 1]; 
294     for(i = len - 2 ; i >= 0 ; i--)
295     { 
296         cout.width(DLEN); 
297         cout.fill('0'); 
298         cout << a[i]; 
299     } 
300     cout << endl;
301 }
302 BigNum f[60][60],ans[60];
303 int32_t main() {
304     f[1][1]=1;
305     ans[1]=1;
306     fo(i,2,50){
307         f[i][1]=1;ans[i]=1;
308         fo(j,2,i){
309             f[i][j]=(f[i-1][j-1]+f[i-1][j])*j;
310             ans[i]=ans[i]+f[i][j];
311         }
312     }
313     int q;scan(q);
314     while(q--){
315         int n;scan(n);
316         ans[n].print();
317     }
318     return 0;
319 }

 

HDU1224

 1 //C:\ZXYACMProblems\HDU
 2 #include <bits/stdc++.h>
 3 #include <stdint.h>
 4 using namespace std;
 5 #define int long long
 6 #define scan(n) scanf("%lld", &(n))
 7 #define scann(n, m) scanf("%lld%lld", &(n), &(m))
 8 #define pb push_back
 9 #define mp make_pair
10 #define ms(a) memset(a, 0, sizeof(a))
11 #define fo(i, a, b) for (int i = (a); i <= (b); i++)
12 #define ro(i, a, b) for (int i = (a); i >= (b); i--)
13 const int inf = 0x3f3f3f3f;
14 int weight[200];
15 int pre[200];
16 vector<int>graph[200];
17 int a[200];
18 void putans(int u){
19     if(u==-1)return;
20     putans(pre[u]);
21     printf("%lld->",u);
22 }
23 int32_t main(){
24     int T;scan(T);
25     fo(cas,1,T){
26         int n;scan(n);
27         fo(i,0,n+1)weight[i]=0,pre[i]=-1,graph[i].clear();
28         fo(i,1,n)scan(a[i]);a[n+1]=0;
29         int m;scan(m);
30         int tot=0;
31         fo(i,1,m){int x,y;scann(x,y);graph[x].pb(y);}
32         fo(i,1,n+1){
33             int len=graph[i].size();
34             fo(j,0,len-1){
35                 tot=graph[i][j];
36                 if(weight[i]+a[i]>weight[tot]){
37                     weight[tot]=weight[i]+a[i];
38                     pre[tot]=i;
39                 }
40             }
41         }
42         printf("CASE %lld#\npoints : %lld\n",cas,weight[n+1]);
43         printf("circuit : 1->");
44         putans(pre[n+1]);
45         printf("1\n");
46         if(cas!=T)printf("\n");
47     }
48     return 0;
49 }

 

HDU1225

 1 #include <bits/stdc++.h>
 2 #include<stdint.h>
 3 #define int long long
 4 #define fo(i, a, b) for (int i = (a); i <= (b); i++)
 5 const int inf = 0x3f3f3f3f;
 6 using namespace std;
 7 const int maxn = 2e5+100;
 8 struct node{
 9     string name;
10     int score;
11     int sum;
12     int net;
13 }v[maxn];
14 bool cmp(node a,node b){
15     if(a.score!=b.score)return a.score>b.score;
16     if(a.net!=b.net)return a.net>b.net;
17     if(a.sum!=b.sum)return a.sum>b.sum;
18     return a.name<b.name;
19 }
20 int32_t main() {
21     int n;
22     while(cin>>n){
23         fo(i,1,n){v[i].net=0;v[i].sum=0;v[i].score=0;}
24         map<string,int>mp;
25         int tot=1;
26         fo(i,1,n*n-n){
27             string l,r,vs;char c;int p,q;
28             cin>>l>>vs>>r>>p>>c>>q;
29             int x=mp[l],y=mp[r];
30             if(x==0)x=tot++,v[x].name=l,mp[l]=x;
31             v[x].sum+=p,v[x].net+=p-q;
32             if(y==0)y=tot++,v[y].name=r,mp[r]=y;
33             v[y].sum+=q,v[y].net+=q-p;
34             if(p>q)v[x].score+=3;
35             else if(p==q)v[x].score+=1,v[y].score+=1;
36             else v[y].score+=3;
37         }
38         sort(v+1,v+n+1,cmp);
39         fo(i,1,n)cout<<v[i].name<<" "<<v[i].score<<endl;
40         cout<<endl;
41     }
42         return 0;
43 }

 

HDU1226

 1 //C:\ZXYACMProblems\HDU
 2 #include <bits/stdc++.h>
 3 #include<stdint.h>
 4 #define int long long
 5 #define scan(n) scanf("%lld", &(n))
 6 #define scann(n, m) scanf("%lld%lld", &(n), &(m))
 7 #define scannn(a, b, c) scanf("%lld%lld%lld", &(a), &(b), &(c))
 8 #define prin(n) printf("%lld", (n))
 9 #define pb push_back
10 #define mp make_pair
11 #define ms(a) memset(a, 0, sizeof(a))
12 #define fo(i, a, b) for (int i = (a); i <= (b); i++)
13 #define ro(i, a, b) for (int i = (a); i >= (b); i--)
14 const int inf = 0x3f3f3f3f;
15 using namespace std;
16 const int maxn = 5020;
17 int a[30];
18 int vis[maxn];
19 struct node{
20     int ans[520];
21     int length;
22 };
23 queue<node>q;
24 int getmod(node t,int c,int n){
25     int ans=0;
26     fo(i,0,t.length-1)ans=(ans*c+t.ans[i])%n;
27     return ans;
28 }
29 int32_t main() {
30     int T;scan(T);
31     while(T--){
32         int n,c,m,f=0;scannn(n,c,m);
33         while(!q.empty())q.pop();
34         fo(i,0,29)a[i]=0;
35         fo(i,1,m){
36             char ch;cin>>ch;
37             if(ch>='A')a[ch-'A'+10]=1;else a[ch-'0']=1;
38         }
39         if(n==0){
40             if(a[0])printf("0\n");
41             else printf("give me the bomb please\n");
42             continue;
43         }
44         node t;
45         t.length=0;
46         ms(vis);
47         fo(i,1,15){
48             if(a[i]){
49                 t.ans[0]=i;t.length=1;
50                 int mod=getmod(t,c,n);
51                 if(mod==0){
52                     if(i<=9)printf("%lld\n",i);
53                     else printf("%c\n",i+'A'-10);
54                     f=1;
55                     break;
56                 }
57                 if(!vis[mod])vis[mod]=1,q.push(t);
58             }
59         }
60         while(!q.empty()){
61             if(f==1)break;
62             t=q.front();q.pop();
63             fo(i,0,15){
64                 if(a[i]){
65                     t.ans[t.length]=i;t.length++;
66                     int mod=getmod(t,c,n);
67                     if(mod==0){
68                         fo(i,0,t.length-1){
69                             if(t.ans[i]<=9)printf("%lld",t.ans[i]);
70                             else printf("%c",t.ans[i]+'A'-10);
71                         }
72                         printf("\n");
73                         f=1;break;
74                     }
75                     else{
76                         if(!vis[mod]&&t.length<500){
77                             vis[mod]=1;q.push(t);}
78                     }
79                     t.length--;
80                 }
81             }
82         }
83         if(f==0) cout<<"give me the bomb please\n";
84     }
85     return 0;
86 }

 

HDU1256

模拟

 1 //C:\ZXYACMProblems\HDU
 2 #include <bits/stdc++.h>
 3 #include<stdint.h>
 4 #define int long long
 5 #define scan(n) scanf("%lld", &(n))
 6 #define scann(n, m) scanf("%lld%lld", &(n), &(m))
 7 #define scannn(a, b, c) scanf("%lld%lld%lld", &(a), &(b), &(c))
 8 #define prin(n) printf("%lld", (n))
 9 #define pb push_back
10 #define mp make_pair
11 #define ms(a) memset(a, 0, sizeof(a))
12 #define fo(i, a, b) for (int i = (a); i <= (b); i++)
13 #define ro(i, a, b) for (int i = (a); i >= (b); i--)
14 const int inf = 0x3f3f3f3f;
15 using namespace std;
16 const int maxn = 2e5+100;
17 
18 int32_t main() {
19     int T;scan(T);
20     fo(k,1,T){
21         char c;cin>>c;
22         int h;cin>>h;
23         int x=(h-3)/2;
24         int y=h-3-x;
25         int w=h/6+1;
26         fo(i,1,w)cout<<" ";
27         fo(i,1,y)cout<<c;cout<<endl;
28         fo(i,1,x){
29             fo(j,1,w)cout<<c;
30             fo(j,1,y)cout<<" ";
31             fo(j,1,w)cout<<c;
32             cout<<endl;
33         }
34         fo(i,1,w)cout<<" ";
35         fo(i,1,y)cout<<c;cout<<endl;
36         fo(i,1,y){
37             fo(k,1,w)cout<<c;
38             fo(k,1,y)cout<<" ";
39             fo(k,1,w)cout<<c;
40             cout<<endl;
41         }
42         fo(i,1,w)cout<<" ";
43         fo(i,1,y)cout<<c;cout<<endl;
44         if(k!=T)cout<<endl;
45     }
46     return 0;
47 }

 

HDU1258

dfs+输出路径+记录答案

 1 //C:\ZXYACMProblems\HDU
 2 #include <bits/stdc++.h>
 3 #include<stdint.h>
 4 #define int long long
 5 #define scan(n) scanf("%lld", &(n))
 6 #define scann(n, m) scanf("%lld%lld", &(n), &(m))
 7 #define scannn(a, b, c) scanf("%lld%lld%lld", &(a), &(b), &(c))
 8 #define prin(n) printf("%lld", (n))
 9 #define pb push_back
10 #define ms(a) memset(a, 0, sizeof(a))
11 #define fo(i, a, b) for (int i = (a); i <= (b); i++)
12 #define ro(i, a, b) for (int i = (a); i >= (b); i--)
13 const int inf = 0x3f3f3f3f;
14 using namespace std;
15 const int maxn = 2e5+100;
16 int a[maxn];
17 int n,sum,f;
18 int pre[maxn];
19 int vis[maxn];
20 map<string,int>mp;
21 string getnum(int num){
22     string s="";
23     while(num){
24         s+=(char)((num%10)+'0');
25         num/=10;
26     }
27     string s1="";
28     int len=s.size();
29     ro(i,len-1,0)s1+=s[i];
30     return s1;
31 }
32 bool cmp(int a,int b){return a>b;}
33 void getans(int x){
34     string res="";
35     res+=getnum(a[x]);
36     if(pre[x]==0){
37         if(mp[res]==0)cout<<res<<endl;
38         mp[res]=1;
39         return;
40     }
41     x=pre[x];
42     while(x!=0){
43         res=getnum(a[x])+"+"+res;
44         x=pre[x];
45     }
46     if(mp[res]==0)cout<<res<<endl;
47     mp[res]=1;
48     return;
49 }
50 void dfs(int x,int s){
51     if(s==sum){
52         f=1;
53         getans(x);
54         return;
55     }
56     if(x==n)return;
57     fo(i,x+1,n){
58         if(s+a[i]<=sum)
59             pre[i]=x;
60             dfs(i,s+a[i]);
61             pre[i]=0;
62     }
63     
64 }
65 int32_t main() {
66     while(cin>>sum&&sum){
67         scan(n);
68         fo(i,1,n)scan(a[i]);
69         sort(a+1,a+1+n,cmp);
70         printf("Sums of %lld:\n",sum);
71         fo(i,1,n)pre[i]=0;
72         f=0;
73         dfs(0,0);
74         if(!f)printf("NONE\n");
75     }
76     return 0;
77 }

 HDU1259

 1 #include <bits/stdc++.h>
 2 #include<stdint.h>
 3 #define int long long
 4 #define scan(n) scanf("%lld", &(n))
 5 #define scann(n, m) scanf("%lld%lld", &(n), &(m))
 6 #define scannn(a, b, c) scanf("%lld%lld%lld", &(a), &(b), &(c))
 7 #define prin(n) printf("%lld", (n))
 8 #define pb push_back
 9 #define mp make_pair
10 #define ms(a) memset(a, 0, sizeof(a))
11 #define fo(i, a, b) for (int i = (a); i <= (b); i++)
12 #define ro(i, a, b) for (int i = (a); i >= (b); i--)
13 const int inf = 0x3f3f3f3f;
14 using namespace std;
15 const int maxn = 2e5+100;
16 
17 int32_t main() {
18     int T;scan(T);
19     while(T--){
20         string s=" ZJUTACM";
21         int m;scan(m);
22         fo(i,1,m){
23             int x,y;
24             scann(x,y);
25             swap(s[x],s[y]);
26         }
27         fo(i,1,7){
28             if(s[i]=='J'){
29                 cout<<i<<endl;
30                 continue;
31             }
32         }
33     }
34     return 0;
35 }

HDU1260

HDU1261

HDU1262

 1 #include <bits/stdc++.h>
 2 #include<stdint.h>
 3 #define int long long
 4 #define scan(n) scanf("%lld", &(n))
 5 #define scann(n, m) scanf("%lld%lld", &(n), &(m))
 6 #define scannn(a, b, c) scanf("%lld%lld%lld", &(a), &(b), &(c))
 7 #define prin(n) printf("%lld", (n))
 8 #define pb push_back
 9 #define mp make_pair
10 #define ms(a) memset(a, 0, sizeof(a))
11 #define fo(i, a, b) for (int i = (a); i <= (b); i++)
12 #define ro(i, a, b) for (int i = (a); i >= (b); i--)
13 const int inf = 0x3f3f3f3f;
14 using namespace std;
15 const int maxn = 2e5+100;
16 
17 bool isprime(int x){
18     for(int i=2;i*i<=x;i++){
19         if(x%i==0)return false;
20     }
21     return true;
22 }
23 int32_t main() {
24     int m;
25     while(cin>>m){
26         ro(i,m/2,1){
27             if(isprime(i)&&isprime(m-i)){
28                 cout<<i<<" "<<m-i<<endl;
29                 break;
30             }
31         }
32     }
33     return 0;
34 }

HDU1263

HDU1264

HDU1265

 

HDU1491

 1 #include <bits/stdc++.h>
 2 #include<stdint.h>
 3 #define int long long
 4 #define scan(n) scanf("%lld", &(n))
 5 #define scann(n, m) scanf("%lld%lld", &(n), &(m))
 6 #define scannn(a, b, c) scanf("%lld%lld%lld", &(a), &(b), &(c))
 7 #define prin(n) printf("%lld", (n))
 8 #define pb push_back
 9 #define mp make_pair
10 #define ms(a) memset(a, 0, sizeof(a))
11 #define fo(i, a, b) for (int i = (a); i <= (b); i++)
12 #define ro(i, a, b) for (int i = (a); i >= (b); i--)
13 const int inf = 0x3f3f3f3f;
14 using namespace std;
15 const int maxn = 2e5+100;
16 int day[30]={0,31,28,31,30,31,30,31,31,30,31};
17 
18 int32_t main() {
19     int n;scan(n);
20     fo(a,1,n){
21         int x,y;
22         scann(x,y);
23         int ans=0;
24         if(x==10&&y==21)
25             printf("It's today!!\n");
26         else if(x>10||(x==10&&y>21))
27             printf("What a pity, it has passed!\n");
28         else{
29             fo(i,x,9)
30                 ans+=day[i];
31             ans+=(21-y);
32             printf("%lld\n",ans);
33         }
34     }
35     return 0;
36 }
View Code

HDU1492

 1 #include<bits/stdc++.h>
 2 #include<stdint.h>
 3 using namespace std;
 4 #define int long long
 5 
 6 int32_t main(){
 7     int n;
 8     while(scanf("%lld",&n)&&n){
 9         int a=0,b=0,c=0,d=0;
10         if(n%2==0)while(n%2==0){n/=2;a++;}
11         if(n%3==0)while(n%3==0){n/=3;b++;}
12         if(n%5==0)while(n%5==0){n/=5;c++;}
13         if(n%7==0)while(n%7==0){n/=7;d++;}
14         int ans=(a+1)*(b+1)*(c+1)*(d+1);
15         printf("%lld\n",ans);
16     }
17 }
View Code

HDU1494

HDU1495

  1 #include<bits/stdc++.h>
  2 using namespace std;
  3 int s, n, m;
  4 const int N = 100;
  5 bool vis[N+1][N+1][N+1];
  6 struct node{
  7     int s, n, m, step;
  8 };
  9 int bfs(){
 10     if(s%2==1)return -1;
 11     queue<node> q;
 12     memset(vis, true, sizeof(vis));
 13     node a;
 14     a.s = s;
 15     a.n = 0;
 16     a.m = 0;
 17     a.step = 0;
 18     q.push(a);
 19     vis[a.s][a.n][a.m] = false;
 20     while(!q.empty()){
 21         a = q.front();
 22         q.pop();
 23         if((a.s==a.n&&a.s==s/2)||(a.s==a.m&&a.s==s/2)||(a.m==a.n&&a.m==s/2))
 24             return a.step;
 25         node b;
 26         //s->n
 27         if(a.s&&n-a.n>0){
 28             if(a.s>n-a.n){
 29                 b.s = a.s - n + a.n;
 30                 b.n = n;
 31                 b.m = a.m;
 32             }
 33             else{
 34                 b.s = 0;
 35                 b.m = a.m;
 36                 b.n = a.n + a.s;
 37             }
 38             if(vis[b.s][b.n][b.m]){
 39                 vis[b.s][b.n][b.m] = false;
 40                 b.step = a.step + 1;
 41                 q.push(b);
 42             }
 43         }
 44         //s->m
 45         if(a.s&&m-a.m>0){
 46             if(a.s>m-a.m){
 47                 b.s = a.s - m + a.m;
 48                 b.m = m;
 49                 b.n = a.n;
 50             }
 51             else{
 52                 b.s = 0;
 53                 b.n = a.n;
 54                 b.m = a.m + a.s;
 55             }
 56             if(vis[b.s][b.n][b.m]){
 57                 vis[b.s][b.n][b.m]=false;
 58                 b.step = a.step + 1;
 59                 q.push(b);
 60             }
 61         }
 62         //n->m
 63         if(a.n&&m-a.m>0){
 64             if(a.n>m-a.m){
 65                 b.n = a.n - m + a.m;
 66                 b.m = m;
 67                 b.s = a.s;
 68             }
 69             else{
 70                 b.n = 0;
 71                 b.s = a.s;
 72                 b.m = a.m + a.n;
 73             }
 74             if(vis[b.s][b.n][b.m]){
 75                 vis[b.s][b.n][b.m]=false;
 76                 b.step = a.step + 1;
 77                 q.push(b);
 78             }
 79         }
 80         //n->s
 81         if(a.n&&s-a.s>0){
 82             if(a.n>s-a.s){
 83                 b.n = a.n - s + a.s;
 84                 b.s = s;
 85                 b.m = a.m;
 86             }
 87             else{
 88                 b.n = 0;
 89                 b.m = a.m;
 90                 b.s = a.n + a.s;
 91             }
 92             if(vis[b.s][b.n][b.m]){
 93                 vis[b.s][b.n][b.m] =false;
 94                 b.step = a.step + 1;
 95                 q.push(b);
 96             }
 97         }
 98         //m->n
 99         if(a.m&&n-a.n>0){
100             if(a.m>n-a.n){
101                 b.m = a.m - n + a.n;
102                 b.n = n;
103                 b.s = a.s;
104             }
105             else{
106                 b.m = 0;
107                 b.s = a.s;
108                 b.n = a.n + a.m;
109             }
110             if(vis[b.s][b.n][b.m]){
111                 vis[b.s][b.n][b.m]=false;
112                 b.step = a.step + 1;
113                 q.push(b);
114             }
115         }
116         //m->s
117        if(a.m&&s-a.s>0){
118             if(a.m>s-a.s){
119                 b.m = a.m - s + a.s;
120                 b.s = s;
121                 b.n = a.n;
122             }
123             else{
124                 b.m = 0;
125                 b.n = a.n;
126                 b.s = a.m + a.s;
127             }
128             if(vis[b.s][b.n][b.m]){
129                 vis[b.s][b.n][b.m]=false;
130                 b.step = a.step + 1;
131                 q.push(b);
132             }
133         }    
134     }
135     return -1;
136 }
137 
138 int main(){
139     while(scanf("%d%d%d",&s,&n,&m)!=EOF){
140         if(s==0)
141             break;
142         int ans = bfs();
143         if(ans<0)
144             printf("NO\n");
145         else   
146             printf("%d\n", ans);
147     }
148     system("pause");
149     return 0;
150 }

 不想写作业了嘤嘤嘤

谁爱写谁写去TUT!!!!!!!

转载于:https://www.cnblogs.com/guaguastandup/p/11066993.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。
暑假是一个很好的时间用来学习和实践STM32的采样技术。STM32是一系列基于ARM Cortex-M内核的微控制器,它具有丰富的外设和强大的性能,非常适合用于各种采样应用。 在开始之前,你可以先了解一些基本概念和原理,例如模拟信号、数字信号、采样定理等。然后,你可以选择一个适合你的STM32微控制器型号,并准备好开发工具,如Keil MDK或STM32CubeIDE。 接下来,你可以学习如何配置和使用STM32的模拟外设,如ADC(模数转换器)来进行采样。ADC可以将模拟信号转换为数字信号,以便微控制器进行处理和分析。你可以查阅相关的参考手册和用户指南,了解如何使用ADC的配置寄存器、DMA(直接内存访问)和中断等功能。 在学习过程中,你可以尝试一些简单的采样应用,例如读取电压、温度或其他传感器的数据。你还可以学习如何配置ADC的采样率、分辨率和参考电压等参数,以满足你的应用需求。 最后,你可以通过实践项目来巩固所学知识。例如,你可以设计一个数据采集系统,将采样数据存储到内存或外部存储器中,或者将数据通过串口、以太网或无线通信发送到其他设备。 总之,暑假是一个很好的时间窗口,你可以利用这段时间来学习和实践STM32的采样技术。希望你能够充分利用这个机会,学以致用!如果你有具体的问题,欢迎随时向我提问。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值