Problem ID :h176. A.A+B Problem

New Thread

User 可給測資一?

squaremelon SendIMessage
方形西瓜

h176. A.A+B Problem | From: 101.13.121.4 | Post Date:2019-02-03 14:57:07.0

如題
翻過官方測資

不知道錯哪裡 

 


文章類型: 一般 | Reply | Back
User Re:可給測資一?

sagit SendIMessage
sagit

h176. A.A+B Problem | From: 112.104.148.220 | Post Date:2019-02-10 20:48:22.0

如題
翻過官方測資

不知道錯哪裡 


所有題目的測資1都是範例測資。 


文章類型: 一般 | Reply | Back
User Re:可給測資一?

squaremelon SendIMessage
方形西瓜

h176. A.A+B Problem | From: 150.117.26.203 | Post Date:2019-02-13 19:34:29.0

如題
翻過官方測資

不知道錯哪裡 


所有題目的測資1都是範例測資。

#include <iostream>
#include <string>

bool PlusAndCheck(std::string a,std::string b,std::string c);

int main()
{
std::string str,A,B,C;
int T,ans,start,end,i,j,k;
int cut1[1000],cut2[1000];
std::cin>>T;
while(T--)
{
ans=0;
std::cin>>str;
for(i=1;i<str.size()-1;i++)
{
for(j=i+1;j<str.size();j++)
{
if((str[0]=='0'&&i>1)||(str[i]=='0'&&j-i>1)||(str[j]=='0'&&str.size()-j>1)||(i>str.size()-j&&j-i>str.size()-j)||(str.size()-j>i+1&&str.size()-j>j-i+1))
continue;
A="";
B="";
C="";
for(k=0;k<i;k++)
A=A+str[k];
for(k=i;k<j;k++)
B=B+str[k];
for(k=j;k<str.size();k++)
C=C+str[k];
if(PlusAndCheck(A,B,C))
{
cut1[ans]=i;
cut2[ans]=j;
ans++;
}
}
}
std::cout<<ans<<std::endl;
for(i=0;i<ans;i++)
{
for(j=0;j<str.size();j++)
{
if(j==cut1[i])
std::cout<<" + ";
else if(j==cut2[i])
std::cout<<" = ";
std::cout<<str[j];
}
std::cout<<std::endl;
}
str="";
for(i=0;i<ans;i++)
{
cut1[i]=0;
cut2[i]=0;
}
}
return 0;
}

bool PlusAndCheck(std::string a,std::string b,std::string c)
{
int i,max,check=1;
int ans[30],ma[30],mb[30],mc[30];
for(i=0;i<a.size();i++)
ma[i]=a[a.size()-1-i]-'0';
for(i=0;i<b.size();i++)
mb[i]=b[b.size()-1-i]-'0';
for(i=0;i<c.size();i++)
mc[i]=c[c.size()-i-1]-'0';
//std::cout<<a.size()<<" "<<b.size()<<" "<<c.size()<<std::endl;
if(a.size()>b.size())
max=a.size();
else
max=b.size();
for(i=a.size();i<max;i++)
ma[i]=0;
for(i=b.size();i<max;i++)
mb[i]=0;
for(i=0;i<max;i++)
ans[i]=ma[i]+mb[i];
for(i=0;i<max;i++)
{
if(ans[i]>=10)
{
ans[i+1]++;
ans[i]%=10;
}
}
for(i=0;i<max;i++)
{
if(mc[i]!=ans[i])
{
check=0;
break;
}
}
if(check==1)
return true;
else
return false;
}
在Code Block上測試範例測資是正確的
不知道怎麼錯了 
 


文章類型: 一般 | Reply | Back
User Re:可給測資一?

sagit SendIMessage
sagit

h176. A.A+B Problem | From: 175.182.221.153 | Post Date:2019-02-13 20:05:46.0

我試了也一樣,
看你要不要寫一個把 string 轉換成 long long int 的函數,
後續的處理就會比較簡單。 


文章類型: 一般 | Reply | Back
User Re:可給測資一?

squaremelon SendIMessage
方形西瓜

h176. A.A+B Problem | From: 150.117.26.203 | Post Date:2019-02-13 21:06:58.0

我試了也一樣,
看你要不要寫一個把 string 轉換成 long long int 的函數,
後續的處理就會比較簡單。

OK 


文章類型: 一般 | Reply | Back

New Thread

ZeroJudge Forum