• Bio

    • [ ] 1. * ######

    using namespace std;

    //希望记录全年级每个班每个人的学号

    int a[1005][105]; //a[i,j]描述第i个人 第j个学科的成绩 int n,m; int x,y;

    bool check(int x,int y){ //判定第x人和第y人是否旗鼓相当 int p=0, q=0; for (int j=1;j<=m;j++){ if ( abs(a[x][j]-a[y][j]) >5) return false; p += a[x][j], q += a[y][j]; } if (abs(p-q)>10) return false; else return true;

    }

    int main(){ cin >> n; m = 3; for (int i=1;i<=n;i++) for (int j=1;j<=m;j++) cin >> a[i][j];

    int ans = 0;
    for (int i=1;i<=n;i++)
    for (int j=i+1;j<=n;j++)
    	if (check(i,j))	ans++;
    cout << ans;
    

    } #include #include

    using namespace std;

    //希望记录全年级每个班每个人的学号

    int a[1005][105]; //a[i,j]描述第i个人 第j个学科的成绩 int n,m; int x,y;

    bool check(int x,int y){ //判定第x人和第y人是否旗鼓相当 int p=0, q=0; for (int j=1;j<=m;j++){ if ( abs(a[x][j]-a[y][j]) >5) return false; p += a[x][j], q += a[y][j]; } if (abs(p-q)>10) return false; else return true;

    }

    int main(){ cin >> n; m = 3; for (int i=1;i<=n;i++) for (int j=1;j<=m;j++) cin >> a[i][j];

    int ans = 0;
    for (int i=1;i<=n;i++)
    for (int j=i+1;j<=n;j++)
    	if (check(i,j))	ans++;
    cout << ans;
    

    } #include

    using namespace std;

    //希望记录全年级每个班每个人的学号

    int a[105][105]; int b[105][105]; int n,m; int x,y;

    int main(){ n = 5, m = 5;

    for (int i=1;i<=n;i++)
    for (int j=1;j<=m;j++)
    		cin >> a[i][j];
    		
    cin >> x >> y;	//交换第x行和第y行
    
    for (int j=1;j<=m;j++)
    	swap(a[x][j],a[y][j]); 
     
    for (int i=1;i<=n;i++){
    	for (int j=1;j<=m;j++)
    		cout << a[i][j] << ' ';
    	cout << endl;
    }
    

    } #include #include

    using namespace std;

    int a[1005][105]; int n,x,y;

    int main(){ cin >> n; cin >> x >> y;

    for (int j=1;j<=n;j++)
    	printf("(%d,%d) ",x,j);
    printf("\n");
    
    for (int i=1;i<=n;i++)
    	printf("(%d,%d) ",i,y);
    printf("\n");	
    
    for (int j=1;j<=n;j++){
    	int i = (x-y) + j;
    	if (i>0 && i<=n)
    		printf("(%d,%d) ",i,j);	
    } 
    printf("\n");
    
    for (int j=1;j<=n;j++){
    	int i = (x+y) - j;
    	if (i>0 && i<=n)
    		printf("(%d,%d) ",i,j);	
    } 
    printf("\n");
    

    } #include #include

    using namespace std;

    //希望记录全年级每个班每个人的学号

    int a[1005][105]; //a[i,j]描述第i个人 第j个学科的成绩 int n,m; int x,y;

    bool check(int x,int y){ //判定第x人和第y人是否旗鼓相当 int p=0, q=0; for (int j=1;j<=m;j++){ if ( abs(a[x][j]-a[y][j]) >5) return false; p += a[x][j], q += a[y][j]; } if (abs(p-q)>10) return false; else return true;

    }

    int main(){ cin >> n; m = 3; for (int i=1;i<=n;i++) for (int j=1;j<=m;j++) cin >> a[i][j];

    int ans = 0;
    for (int i=1;i<=n;i++)
    for (int j=i+1;j<=n;j++)
    	if (check(i,j))	ans++;
    cout << ans;
    

    } #include #include

    using namespace std;

    int a[1005][105]; int n,k, t;

    int main(){ cin >> n; int x = 1, y = 1; t = 0; while (x<=n && y<=n){ cin >> k; while (k--){ a[x][y] = t; y++; if (y>n){ x++, y = 1; //换行 } } t = 1 - t; // 0-1 1-0 }

    for (int i=1;i<=n;i++){
    	for (int j=1;j<=n;j++)
    		printf("%d",a[i][j]);
    	cout << endl;
    }
    

    } #include #include

    using namespace std;

    int a[1005][105]; int n; int x,y,k,dir; int tx,ty;

    // dir = 0,往右移动 x不变 y+1 // dir = 1,往下移动 x+1, y不变 // dir = 2,往左移动 x不变 y-1 // dir = 3,往上移动 x-1, y不变

    void move(){ tx = x, ty = y; if (dir0) ty++; else if (dir1) tx++; else if (dir2) ty--; else if (dir3) tx--; }

    int main(){ cin >> n; x = y = k = 1; //一开始在(x,y) 填入 k dir = 0; while (k<=n*n){ a[x][y] = k; k++; // x,y应该要更新到下一个点 move(); if (tx<=0 || tx>n || ty<=0 || ty>n || a[tx][ty]!=0){ dir = (dir+1)%4; move(); } x = tx, y = ty; } for (int i=1;i<=n;i++){ for (int j=1;j<=n;j++) printf("%3d",a[i][j]); cout << endl; } }

    using namespace std;

    int a[1005][105]; int n; int x,y,k,dir; int tx,ty;

    // dir = 0,往右移动 x不变 y+1 // dir = 1,往下移动 x+1, y不变 // dir = 2,往左移动 x不变 y-1 // dir = 3,往上移动 x-1, y不变

    void move(){ tx = x, ty = y; if (dir0) ty++; else if (dir1) tx++; else if (dir2) ty--; else if (dir3) tx--; }

    int main(){ cin >> n; x = y = k = 1; //一开始在(x,y) 填入 k dir = 0; while (k<=n*n){ a[x][y] = k; k++; // x,y应该要更新到下一个点 move(); if (tx<=0 || tx>n || ty<=0 || ty>n || a[tx][ty]!=0){ dir = (dir+1)%4; move(); } x = tx, y = ty; } for (int i=1;i<=n;i++){ for (int j=1;j<=n;j++) printf("%3d",a[i][j]); cout << endl; } }

    #include <iostream>
    
    using namespace std;
    
    int A,B,C;
    bool flag = 0;
    
    bool calc(int x,int y){	//判定三位数x中是否出现了y 
    	while (x>0){
    		if (x%10 == y)	return 1;
    		x/=10;
    	}
    	return 0;
    }
    
    bool check(int i,int j,int k){
    	if (i*B!=j*A || i*C!=k*A || j>999 || k>999)	return 0;	//比例不对
    	for (int t=1;t<=9;t++)
    		if (!calc(i,t) && !calc(j,t) && !calc(k,t))	return 0;
    	return 1; 
    }
    
    int main(){
    	cin >> A >> B >> C;
    	for (int i=100;i<=999;i++){ 
                if (A<=0) break;
    	    int j = i*B/A;
         	    int k = i*C/A;
    	    if (check(i,j,k))
    		printf("%d %d %d\n",i,j,k), flag = 1;
    	}	
    	if (flag == 0)	printf("No!!!");
    }sanlianji
    

    #include

    using namespace std;

    int n,m; long long ans1 = 0, ans2 = 0;

    int main(){ cin >> n >> m; for (int i=1;i<=n;i++) for (int j=1;j<=m;j++){ //高度为i 宽度为j long long p = n-i+1 , q = m-j+1; if (i==j) ans1 += pq; else ans2 += pq; } cout << ans1 << " " << ans2; }tongjifangxin

    #include <iostream>
    #include <algorithm>
    
    using namespace std;
    
    const int MAXN = 1e6 + 5;
    long long n,m;
    
    int a[MAXN],b[MAXN];
    
    
    int main(){
    	cin >> n >> m;
    	
    	for (int i=1;i<=m;i++)
    		scanf("%d%d",&a[i],&b[i]);
    	
    	sort(a+1,a+1+m);
    	sort(b+1,b+1+m);
    	
    	long long p=0,q=0;
    	for (int i=1;i<=m;i++){
    		if (a[i]!=a[i-1])	p++;
    		if (b[i]!=b[i-1])	q++;
    	}
    	cout << n*n - (n-p)*(n-q);
    	
    	//如果 一共有P行 Q列有车  那么(N-P)行可以放棋子 (N-Q)列可以放棋子 
    	//  ans == N*N - (N-P)*(N-Q)
    }chedegongji
    

    给定一个 01 字符串 𝑠s,你可以任选 𝑠s 的一个非空子串,把这个子串在 𝑠s翻转一次。

    问你能得到字典序最小的字符串是什么?

    形式化的,你可以选择一个区间 [𝑙,𝑟][l,r] 满足 1≤𝑙≤𝑟≤∣𝑠∣1lrs,构造一个串 𝑡t 满足:

    𝑡𝑖={𝑠𝑖,𝑖<𝑙 或 𝑖>𝑟𝑠𝑟−(𝑖−𝑙),𝑙≤𝑖≤𝑟ti={si​**,sr**−(il),i<l i>rl**≤ir这里字符串的下标从 11** 开始。

    最小化字符串 𝑡t 的字典序。

    #include <iostream>
    #include <algorithm>
    
    using namespace std;
    
    string s;
    string ans;
    
    string rev(string s,int l,int r){
    	for (int i=l;i<=r;i++){ 
    		int j = l+r - i;
    		if (i<=j)	swap(s[i],s[j]);
    	}
    	return s;
    }
    
    int main(){
    	cin >> s;
    	ans = s;
    	
    	for (int i=0;i<=s.size()-1;i++)
    	for (int j=i;j<=s.size()-1;j++){
    		string t = rev(s,i,j);
    		if (t < ans)
    			ans = t;
    	}
    	cout << ans;
    	
    }fusuhechuan
    
    
    

    #include #include

    using namespace std;

    const int MAXN = 500 + 5; char g[MAXN][MAXN]; int n,m,ans = 0;

    bool calc(int x,int y,int dx,int dy){ //从x,y出发 沿着dx dy道路 是否能出屏幕 char c = g[x][y]; while (x>0 && x<=n && y>0 && y<=m){ if (g[x][y]!='.' && g[x][y] != c) return 0; x += dx; y += dy; } return 1; }

    bool check(int x,int y){ //判定 (x,y)是否有三个以上的逃生通道 int cnt = 0; cnt += calc(x,y,-1,0); //UP cnt += calc(x,y,1,0); //DOWN cnt += calc(x,y,0,-1); //LEFT cnt += calc(x,y,0,1); //RIGHT

    return (cnt>=3);
    

    }

    int main(){ cin >> n >> m >> ans >> ans; ans = 0; for (int i=1;i<=n;i++) for (int j=1;j<=m;j++) cin >> g[i][j];

    for (int i=1;i<=n;i++)
    for (int j=1;j<=m;j++)
    	if (g[i][j]!='.')
    		ans += check(i,j);
    cout << ans;
    

    }# 电脑中了满屏粉兔病毒

    
    
  • Recent Activities