我有2秒的时间限制,第一个代码有效,而带printf的代码超过了时间限制。我是编程的新手,我想知道这两个代码之间有什么区别。
// The working one
#include <iostream>
#include <cstdio>
#include <string>
using namespace std;
int main()
{
string stone ;
int count= 0;
int n;
cin >>n >> stone;
for(int i = 1; i < n; i++ ){
if(stone[i]==stone[i-1])
count++;
}
cout << count << endl;
return 0;
}
// Too much time to execute
#include<stdio.h>
#include<conio.h>
#include<math.h>
int main ()
{
char x[20]={'\0'};int counter=0;
int n =0;
scanf("%d",&n);
scanf("%c",&x[0]);
scanf("%s",&x);
for (int i=1; i<n;i++)
{
if (x[i]==x[i-1]){
counter++;
}
}
printf("%d",counter);
//getch();
return 0;
}