Re: 10013 - Super Long Sums
Posted: Mon Nov 11, 2013 11:32 pm
There is a blank line between output blocks.
This is an invalid input, becausetenshi wrote:check this case:
1
4
0 9
0 9
0 9
1 9
Each of the two given integers is not less than 1, and the length of their sum does not exceed M.
Code: Select all
#include<iostream>
//#include<cstdio>
using namespace std;
int main()
{
//freopen("in.txt","r",stdin);
int n,m,carry,j;
short temp;
cin>>n;
for(int i=0;i<n;i++)
{
if(i) cout<<endl;
carry=0;
cin>>m;
short int a[m],b[m],ans[m];
for(j=m-1;j>=0;j--)
cin>>a[j]>>b[j];
for(j=0;j<m;j++)
{
temp=a[j]+b[j];
ans[j]=temp%10+carry;
carry=temp>9;
}
for(j=m-1;j>=0;j--)
cout<<ans[j];
cout<<endl;
}
return 0;
}
Code: Select all
1
3
1 2
7 2
2 8
Code: Select all
400
Code: Select all
import java.util.Scanner;
public class Main {
private static Scanner scanner;
public static void main(String[] args) {
scanner = new Scanner(System.in);
int n, m;
short temp, carry = 0;
char ch;
short[] firstAra = new short[1000005];
short[] secondAra = new short[1000005];
while (scanner.hasNext()) {
n = scanner.nextInt();
for (int j = 0; j < n; j++) {
m = scanner.nextInt();
for (int k = 0; k < m; k++) {
firstAra[k] = scanner.nextShort();
secondAra[k] = scanner.nextShort();
}
String string = "";
carry = 0;
for (int k = m - 1; k >= 0; k--) {
temp = (short) (firstAra[k] + secondAra[k] + carry);
if (temp > 9) {
temp = (short) (temp % 10);
carry = 1;
} else {
carry = 0;
}
ch = (char) temp;
ch += 48;
string = string + ch;
}
if (carry == 1) {
string = string + 1;
}
StringBuffer buffer = new StringBuffer(string);
System.out.println(buffer.reverse() + "\n");
}
}
}
}
Code: Select all
import java.math.BigInteger;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int trials = in.nextInt();
StringBuilder a;
StringBuilder b;
int l;
for (int tr = 1; tr <= trials; tr++) {
a=new StringBuilder("");
b=new StringBuilder("");
l=in.nextInt();
for(int j=0;j<l;j++)
{
a=a.append(in.next());
b=b.append(in.next());
}
BigInteger z = new BigInteger(a.toString());
BigInteger x = new BigInteger(b.toString());
System.out.println(z.add(x));
if(tr!=trials)
System.out.println("");
}
}
}
brianfry713 wrote:Try using BufferedReader and BufferedWriter.