8-15-Exercise
31039 단어 exe
이번 제목은...눈물이 쏟아질 것 같아..T T
A. HDU 1042 N!
0<=n<=1000이기 때문에 반드시 수조나 문자열을 사용해야 한다[마찬가지로 n<=1000이기 때문에 수조를 사용하면 충분하다~~~].
코드:
1 #include <iostream>
2 #include <cstdio>
3 using namespace std;
4
5 int a[40000];
6
7 int main()
8 {
9 int n,i,j;
10 while(~scanf("%d",&n))
11 {
12 if(n==1 || n==0){printf("1
"); continue;}
13 a[0]=1; //
14 a[1]=1;
15 for(i=2;i<=n;i++)
16 {
17 int sum=0;
18 for(j=1;j<=a[0];j++)
19 {
20 int temp=a[j]*i+sum;
21 sum=temp/10;
22 a[j]=temp%10;
23 }
24 while(sum)
25 {
26 a[j]=sum%10;
27 a[0]=j;
28 sum/=10;
29 j++;
30 }
31 }
32 for(i=a[0];i>=1;i--)
33 printf("%d",a[i]);
34 printf("
");
35 }
36 return 0;
37 }
//memory:372KB time:1546msB. HDU 1050 Moving Tables
다음은 인터넷의 코드입니다. 제가 이 문제를 풀 때 제 사고방식은 아래 코드의 사고방식과 약간 다르게 생겼습니다.나는 구간을 큰 줄에서 작은 줄로 옮긴 후에 같은 시간에 작업할 수 있는 구간을 찾아서 몇 번을 찾아야 하는지 보았다.인터넷 코드의 사고방식은 중첩 구역을 찾아 중첩 횟수를 보는 것이다.사실, 실질적으로 나의'찾은 횟수'와 인터넷의'중첩 횟수'는 모두 같지만, 왜 WA인지 모르겠지만, 여러 그룹의 데이터를 테스트한 것은 모두 옳았다.
나의 코드는 다음과 같다 [고수의 아낌없는 가르침을 바랍니다]:
1 #include <iostream>
2 #include <cstdio>
3 #include <algorithm>
4 #include <cstring>
5 using namespace std;
6
7 class N
8 {
9 public:
10 int x,y,id;
11 }a[1000];
12
13 bool comp(N w,N q)
14 {
15 return w.x<q.x;
16 }
17
18 int main()
19 {
20 int t,n,i,j;
21 scanf("%d",&t);
22 while(t--)
23 {
24 memset(a,0,sizeof(a));
25 scanf("%d",&n);
26 for(i=0;i<n;i++)
27 {
28 int x,y;
29 scanf("%d%d",&x,&y);
30 if(x<y)
31 {a[i].x=x;a[i].y=y;}
32 else
33 {a[i].x=y;a[i].y=x;}
34 }
35 sort(a,a+n,comp);
36 int sum=0;
37 for(i=0;i<n;i++)
38 if(a[i].id==0)
39 {
40 a[i].id=1;
41 int minn=a[i].y;
42 for(j=i+1;j<n;j++)
43 if(a[j].id==0 && a[j].x>minn)
44 {
45 a[j].id=1;
46 minn=a[j].y;
47 }
48 sum++;
49 }
50 printf("%d
",sum*10);
51 }
52 return 0;
53 }
온라인 AC 코드:#include <iostream>
#include <algorithm>
#include <stdio.h>
#include <string.h>
using namespace std;
#define maxn 460
int main()
{
int t,i,n,b,e;
scanf("%d",&t);
while (t--)
{
int c[200]={0},m=0;
scanf("%d",&n);
while (n--)
{
scanf("%d%d",&b,&e);
if (b>e)
{
i=b;
b=e;
e=i;
}
for (i=(b-1)/2;i<=(e-1)/2;++i)
++c[i];
}
for (i=0;i<200;++i)
if (m<c[i])m=c[i];
printf("%d
",10*m);
}
return 0;
}
//memory:228KB time:0msC.HDU 1181변형과
제목: 문자열 무더기에서 'b' 가 'm' 으로 변환될 수 있는지 확인하는 것입니다.[관계 변환: 모든 문자열의 알파벳은 알파벳으로 바꿀 수 있습니다.]
BFS~
1 #include <iostream>
2 #include <cstdio>
3 #include <queue>
4 #include <cstring>
5 using namespace std;
6
7 const int inf=1<<30;
8 bool vis[11111];
9 int a[55][55];
10 char c[11111];
11
12 void bfs()
13 {
14 int q1=1,q2,i;
15 queue<int> q;
16 memset(vis,0,sizeof(vis));
17 q.push(q1);
18 vis[q1]=1;
19 while(!q.empty())
20 {
21 q2=q.front();
22 q.pop();
23 for(i=0;i<26;i++) //i 【example:i=0, A】
24 if(!vis[i] && a[q2][i]==1)
25 {
26 if(i=='m'-'a')
27 {
28 puts("Yes.");
29 return;
30 }
31 q.push(i);
32 vis[i]=1;
33 }
34 }
35 puts("No.");
36 return;
37 }
38
39 int main()
40 {
41 int t,n,i,j,len;
42 memset(a,0,sizeof(a));
43 while(~scanf("%s",c))
44 {
45 len=strlen(c);
46 a[c[0]-'a'][c[len-1]-'a']=1; //
47 if(c[0]=='0')
48 {
49 bfs();
50 memset(a,0,sizeof(a));
51 }
52 }
53 return 0;
54 }
//memory:268KB time:0msD. HDU 3501 Calculation 2
코올라 함수다~
출처: http://gzhu-101majia.iteye.com/blog/1296950
코드:
1 #include <iostream>
2 #include <cstdio>
3 using namespace std;
4
5 #define M 1000000007
6
7 int eular(__int64 n) //
8 {
9 int i,ans=n;
10 for(i=2;i*i<=n;i++)
11 if(n%i==0)
12 {
13 ans-=ans/i;
14 while(n%i==0)
15 n/=i;
16 }
17 if(n>1) ans-=ans/n;
18 return ans;
19 }
20
21 int main()
22 {
23 __int64 n,ans;
24 while(scanf("%I64d",&n),n)
25 {
26 ans=n*(n+1)/2-n;
27 ans-=eular(n)*n/2;
28 ans%=M;
29 printf("%I64d
",ans);
30 }
31 return 0;
32 }
//memory:228KB time:15msE. HDU 2601 An easy problem
i*i+i+j=n은 다음과 같이 쓸 수 있다. (i+1)*(j+1)=n-1
모양이 위에 이 모양으로 바뀌었는데...정답은 화려하게 나왔습니다.
코드:
1 #include<stdio.h>
2 #include<math.h>
3 int main()
4 {
5
6 int t;
7 scanf("%d",&t);
8 while(t--)
9 {
10 __int64 n;
11 scanf("%I64d",&n);
12 n++;
13 __int64 i;
14 __int64 sum=0;
15 for(i=2;i*i<=n;i++)
16 if(n%i==0)
17 sum++;
18 printf("%I64d
",sum);
19
20 }
21 return 0;
22 }
//memory:228KB time:2000ms이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
python을exe로 변환하는 방법 (서력 → 역력 변환 도구)업무 효율화를 위해python에서 편리한 도구를 만들어도 다른 사람과 공유할 때python의 환경을 조성하기 어렵다.따라서 이번에는python exe를 녹이는 방법을 시도해 봅시다.이렇게 하면pytohon이 설치되어...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.