-2
私はSPOJでthisの問題を解決しています。オンライン審査員の使用中に発生する最も頻繁に発生する問題の1つはRuntime Error
です。どのケースがSegmentation fault
につながるかわからないすべての可能なケースが自分のlinux gccで正しく動作することを保証していますが、なぜ以下のコードがRuntime Error
またはSegmentation Fault
に対応しているのか理解してください。オンラインジャッジで実行中にランタイムエラーが発生しました
#include <iostream>
#include <math.h>
#include <cmath>
#include <cstdio>
#include <cstdlib>
#include <string>
#include <vector>
using namespace std;
int main()
{
int t,i;
cin >> t;
string s;
vector<int> A;
while(t--)
{
cin >> s;
int n=s.size();
int temp;
if (n!=1)
{
for(i=0;i<s.size();i++)
{
A.push_back(s.at(i)-'0');
}
if(n%2!=0)
{ i = (n-1)/2;
while(A[i-1]==A[n-i])
i--;
i--;
}
else
{ i=n/2-1;
while(A[i]==A[n-1-i])
i-- ;
}
if (A[i]<A[n-i-1])
{
if ((n%2)!=0)
{
A[n/2] = A[n/2] + 1;
A[n-i-1] = A[i];
}
else
{
A[n/2-1] = A[n/2-1]+1;
A[n/2] = A[n/2-1];
A[n-i-1] = A[i];
}
}
else
A[n-i-1] = A[i];
while(i--)
A[n-i-1] = A[i];
while(!(A.empty()))
{
printf("%d",A.back());
A.pop_back();
}
}
else
cout << s;
}
}
コードをインデントしてください。 –
こんにちは@VaibhavBajaj、完了! –
エラーテキストが表示されますか?もしそうなら、それを投稿してください。 – donjuedo