uvalive3059
아이디어 : 모든 과정을 통합 할 수있는 초기 값 B [0]를 설정하는 매우 간단한 시뮬레이션.
#include <iostream>
#include <cstdio>
using namespace std;
int a[100],b[100];
int t;
int sum;
int main()
{
//freopen("input.txt","r",stdin);
while(cin>>t&&t!=-1)
{
sum=0;
a[0]=b[0]=0;
for(int i=1;i<=t;++i)
cin>>a[i]>>b[i];
for(int i=1;i<=t;++i)
sum+=a[i]*(b[i]-b[i-1]);
printf("%d miles\n",sum);
}
return 0;
}
uva640
방법 시뮬레이션을 체 이해
아이디어 : 질문의 의미가 혼동 조금, 사실, 각 번호는 한 번만 계산 충분하다. 하지만 여전히 나는 왜 WA 몰라요.
#include <iostream>
#include <string.h>
using namespace std;
const int maxn=100000+10;
int a[maxn];
int main()
{
memset(a,0,sizeof(a));
for(int i=1;i<=100000;++i)
{
int n=i;
int b=i;
while(b)
{
n+=(b%10);
b/=10;
}
a[n]=1;
}
for(int i=1;i<=100000;++i)
{
if(!a[i])cout<<i<<endl;
}
return 0;
}
uva11000
아이디어 :이 제목이 할당이 매우 흥미 후, 법을 찾기 위해 몇 년 쓰기입니다. 미터 떨어져에서 마늘.
#include <iostream>
#include <cstdio>
using namespace std;
int main()
{
int n;
while(cin>>n&&n!=-1)
{
long long a=1,b=0,c,d;
while(n--)
{
c=b+1;
d=a+b;
a=c;
b=d;
}
cout<<b<<" "<<a+b<<endl;
}
return 0;
}
poj2260
생각이 시뮬레이션은 매우 영리하다,뿐만 아니라 비트 & 연산자를 사용했다.
#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
int a[110][110];//存储矩阵
int col[110],row[110];//统计各行各列数字
int n;
int cr,cc;// 计算奇数列(行)的总数,都为0则ok,都为1则更改,else就是corrupt的
int pr,pc;// 记录需要更改的列和行
int main()
{
//freopen("in.txt","r",stdin);
while(cin>>n&&n)
{
cr=0;cc=0;
memset(a,0,sizeof(a));
memset(col,0,sizeof(col));
memset(row,0,sizeof(row));
for(int i=0;i<n;++i)
for(int j=0;j<n;++j)
{
cin>>a[i][j];
if(a[i][j]==1)
{
row[i]++;
col[j]++;
}
}
for(int i=0;i<n;++i)
{
if(row[i]&1==1){cr++;pr=i;}
if(col[i]&1==1){cc++;pc=i;}
}
if(cr==0&&cc==0)cout<<"OK\n";
else if(cr==1&&cc==1)printf("Change bit (%d,%d)\n",pr+1,pc+1);
else cout<<"Corrupt\n";
}
return 0;
}