我喜欢给自己压力,必须得定一个很高的目标,逼自己朝着这个目标前进,不管会不会实现,都是一个动力。 ----喻言
链接:https://ac.nowcoder.com/acm/problem/15865
来源:牛客网
题目描述
小红想知道小明的心里到底有没有自己,又不好意思亲自去问小明,于是她的闺蜜帮她想了个办法:
小红说出一个字符串为s1,小明说出一个字符串为s2,s1和s2均由字母组成,允许重复,如果s1中出现的每种字符在s2中都出现过,那么就认为小明心中有小红,否则无。('A'和'a'被认为是相同字母)
例如: s1="AECF",s2="ABCDEFGH",s1="AECF",输出"Yes"
s1="CDbZ" , s2="ABcKdBSCg",s1="CDbZ",输出"No"
输入描述:
第一行输入一个正整数T(1<=T<=10),表示T组数据; 每组数据包含两个字符串s1和s2,分别代表小红说出的字符串和小明说出的字符串,字符串的长度满足:1<=s1<=s2<=1000000;
输出描述:
对于每组数据,输出判断结果,有则为"Yes",无则为"No"。
示例1
输入
复制
2 AECF ABCDEFGH CDbZ ABcKdBSCg
输出
复制
Yes No
#include <iostream>
#include <cstdio>
#include <algorithm>
#include <string>
#include <cstring>
#include <cstdlib>
#include <cmath>
#include <stack>
#include <queue>
#include <set>
#include <map>
#include <vector>
#include <ctime>
#include <cctype>
#include <bitset>
#include <utility>
#include <sstream>
#include <complex>
#include <iomanip>
#include<climits>//INT_MAX
#define PP pair<ll,int>
#define inf 0x3f3f3f3f
#define llinf 0x3f3f3f3f3f3f3f3fll
#define dinf 1000000000000.0
typedef long long ll;
using namespace std;
int const N=1e5+10;
int const mod=1e9+7;
const int maxn=1e5+10;
char a[1000005];
char b[1000005];
int main()
{
int t;
cin>>t;
while(t--)
{
memset(a,0,sizeof(a));
memset(b,0,sizeof(b));
cin>>a;
cin>>b;
int len=strlen(a),len1=strlen(b),flag;
for(int i=0;i<len;i++)
{
flag=0;
for(int j=0;j<len1;j++)
if((b[j]==a[i]+32)||(b[j]==a[i]-32)||b[j]==a[i])
flag=1;
if(flag==0)
break;
}
if(flag==0)
cout<<"No"<<endl;
else
cout<<"Yes"<<endl;
}
return 0;
}
链接:https://ac.nowcoder.com/acm/problem/15862
来源:牛客网
题目描述
给出一个正整数n,构造出一个(2n-1)*(2n-1)的蛇形方阵,现在给出方阵该方阵的任意一个点(i,j),你能求出这个点上的数是多少吗?
输入描述:
第一行输入一个整数T(0 < T < 100),表示有T组输入数据; 接下来T行,每一行输入三个正整数n,i,j(1 < n < 1000,0 < i、j <= 2*n-1);
输出描述:
对于每组输入数据,输出点(i,j)上对应的数,如果点(i,j)上没有数字,输出-1;
示例1
输入
复制
3 2 3 2 3 2 3 4 4 5
输出
复制
3 -1 16
#include <iostream>
#include <cstdio>
#include <algorithm>
#include <string>
#include <cstring>
#include <cstdlib>
#include <cmath>
#include <stack>
#include <queue>
#include <set>
#include <map>
#include <vector>
#include <ctime>
#include <cctype>
#include <bitset>
#include <utility>
#include <sstream>
#include <complex>
#include <iomanip>
#include<climits>//INT_MAX
#define PP pair<ll,int>
#define inf 0x3f3f3f3f
#define llinf 0x3f3f3f3f3f3f3f3fll
#define dinf 1000000000000.0
typedef long long ll;
using namespace std;
int const N=1e5+10;
int const mod=1e9+7;
const int maxn=1e5+10;
int t,mp[2005][2005];
int main()
{
cin>>t;
while(t--)
{
int n,x,y;
cin>>n>>x>>y;
int p=0,q=n+1,ct=1;
memset(mp,0,sizeof(mp));
while(ct<=n*n)
{
while(q-1>=1&&!mp[p+1][q-1])
{
mp[p+1][q-1]=ct;
p++;
q--;
ct++;
}
while(p+1<=(2*n-1)&&!mp[p+1][q+1])
{
mp[p+1][q+1]=ct;
p++;
q++;
ct++;
}
while(q+1<=(2*n-1)&&!mp[p-1][q+1])
{
mp[p-1][q+1]=ct;
p--;
q++;
ct++;
}
while(p-1>=1&&!mp[p-1][q-1])
{
mp[p-1][q-1]=ct;
p--;
q--;
ct++;
}
}
if(mp[x][y])
cout<<mp[x][y]<<endl;
else
cout<<-1<<endl;
}
return 0;
}
链接:https://ac.nowcoder.com/acm/problem/15861
来源:牛客网
题目描述
给你一个整数N,定义一种操作"digit sum of N!":表示将N!的所有位数相加,得到一个sum,再将sum的所有位数相加...不断重复此过程,输出整数N操作到只有一位数的时候的值。
输入描述:
输入包含多组数据,每组数据输入一个整数N(1<=N<=10000);
输出描述:
对于每一组数据,输出对应的值。
示例1
输入
复制
2 3 2018
输出
复制
2 6 9
#include <iostream>
#include <cstdio>
#include <algorithm>
#include <string>
#include <cstring>
#include <cstdlib>
#include <cmath>
#include <stack>
#include <queue>
#include <set>
#include <map>
#include <vector>
#include <ctime>
#include <cctype>
#include <bitset>
#include <utility>
#include <sstream>
#include <complex>
#include <iomanip>
#include<climits>//INT_MAX
#define PP pair<ll,int>
#define inf 0x3f3f3f3f
#define llinf 0x3f3f3f3f3f3f3f3fll
#define dinf 1000000000000.0
typedef long long ll;
using namespace std;
int const N=1e5+10;
int const mod=1e9+7;
const int maxn=1e5+10;
int n;
int main()
{
while(scanf("%d", &n)!=EOF)
{
if(n==1)
cout<<"1"<<endl;
else if(n==2)
cout<<"2"<<endl;
else if(n==3||n==4)
cout<<"6"<<endl;
else if(n==5)
cout<<"3"<<endl;
else
cout<<"9"<<endl;
}
return 0;
}