A - Pawn on a Grid
题意:就是让你求出这个n行n列中‘#’的个数
思路:直接枚举就行了。
AC代码:
#include <iostream>
using namespace std;
const int N = 10010;
int n, m, ans;
string s[N];
int main()
{
cin >> n >> m;
for(int i = 0; i < n; i ++)
{
cin >> s[i];
for(int k = 0; k < m; k ++)
{
if(s[i][k] == '#') ans ++;
}
}
cout << ans;
}
B - Inverse Prefix Sum
题意:给我们一个有n个数的a[n]数组,让我们构造一个序列,使得在这个构造的序列中,前k个数的和等于a[k]。
思路:直接利用差分的思想
AC代码:
#include <iostream>
using namespace std;
typedef long long LL;
const int N = 15;
int n;
LL s[N];
int main()
{
cin >> n;
for(int i = 1; i <= n; i ++)
{
cin >> s[i];
cout << s[i] - s[i - 1] << " ";
}
}
C - Extra Character
题意:给你两个字符串s和t,其中t是在s中插入一个字母形成的,在t中求出插入那个字母的位置
思路:直接按位置比较两个字符串,当发现第一次出现t[i]!=s[i]的时候,此时的i就是我们要找的那个m的位置。
AC代码:
#include <iostream>
using namespace std;
string s, t;
int main()
{
cin >> s >> t;
for(int i = 0; i < t.size(); i ++)
{
if(s[i] != t[i])
{
cout << i + 1;
break;
}
}
}